回溯算法
沙扬娜拉的裙裾
刚刚步入计算机大军的小草虚心请教
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode#131-分割回文串
class Solution {public: vector<vector<string>> res; vector<vector<string>> partition(string s) { if(s.length()<=0) return res; vector<string> path; back(s,path,0);//从第0个位置开始,一路遍历到最后一个字符 return res;.原创 2020-08-29 18:51:20 · 126 阅读 · 0 评论 -
回溯算法-leetcode#96-给数字1-n建不同的二叉搜索树
class Solution {public: vector<TreeNode*> generateTrees(int n) { vector<TreeNode*> res; if(n<=0) return res; res = build(1,n); return res; } vector<TreeNode*> build(int begin,int end){ .原创 2020-07-27 11:03:10 · 158 阅读 · 0 评论 -
动态规划-leetcode#87-扰乱字符串
class Solution {public: bool isScramble(string s1, string s2) { if(s1.length()==0||s2.length()==0){ if(s1.length()==0&&s2.length()==0) return true; else return false; } return is(s1,s2); } .原创 2020-07-26 22:07:59 · 162 阅读 · 0 评论 -
回溯算法-leetcode#140 单词拆分(每种可能空格分割连成句子,返回所有可能)
class Solution {public: unordered_map<string,vector<string>> map; vector<string> wordBreak(string s, vector<string>& wordDict) { vector<string> all; if(wordDict.empty()) return all; unorde.原创 2020-07-22 16:36:00 · 199 阅读 · 0 评论 -
回溯算法-leetcode#78-返回数组所有可能的子集
class Solution {public: vector<vector<int>> all; vector<vector<int>> subsets(vector<int>& nums) { all.push_back(vector<int>()); if(nums.empty()) return all; for(int i=1;i<=nums.si.原创 2020-07-22 13:59:43 · 279 阅读 · 0 评论 -
回溯算法-leetcode#77 1-n中所有可能的 k 个数的组合
class Solution {public: vector<vector<int>> all; vector<vector<int>> combine(int n, int k) { if(n==0||k==0) return all; vector<int> num; for(int i=1;i<=n;i++) num.push_back(i); vector&.原创 2020-07-22 13:38:18 · 338 阅读 · 0 评论 -
回溯算法leetcode#60 第k个排列
写了一个挫的,超时了。class Solution {public: string res=""; string getPermutation(int n, int k) { if(n<=0||k<=0) return res; vector<char> num; for(int i=1;i<=n;i++) { num.push_back('0'+i);原创 2020-07-22 12:22:21 · 148 阅读 · 0 评论 -
回溯算法-leetcode#40-组合求和-组合中包含重复数字
class Solution {public: vector<vector<int>> all; vector<vector<int>> combinationSum2(vector<int>& candidates, int target) { if(candidates.empty()) return all; vector<int> one; sort(.原创 2020-07-19 23:16:39 · 228 阅读 · 0 评论 -
回溯算法-leetcode#39-组合总和
class Solution {public: vector<vector<int>> all; vector<vector<int>> combinationSum(vector<int>& candidates, int target) { if(candidates.empty()) return all; vector<int> one; sort(candidates.beg.原创 2020-07-19 22:26:51 · 144 阅读 · 0 评论 -
回溯算法-leetcode#31-电话号码的字母组合
class Solution {public: void nextPermutation(vector<int>& nums) { if(nums.empty()) return; for(int i=nums.size()-1;i>=0;i--) { int idx = back(nums,i+1,nums[i]); if(idx>i && idx&l.原创 2020-07-19 21:11:45 · 130 阅读 · 0 评论 -
回溯算法-leetcode#17-电话号码的字母组合
开启分类模式class Solution {public: unordered_map<string,vector<string>> save; vector<string> letterCombinations(string digits) { vector<string> res; if(digits.length()<=0) return res; save["2"]=vect原创 2020-07-19 19:40:38 · 153 阅读 · 0 评论
分享