自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 LeetCode全排列 next_permutation算法的具体实现

#include<iostream>#include<algorithm>#include<vector>usingnamespacestd;boolnext_permutate(vector<int>::iteratorfirst,vector<int>::iteratorlast){if(first==last)returnfalse;autoi=first...

2020-11-10 10:55:46 122

原创 动态规划算法之leetcode 10. 正则表达式匹配

在正则表达式匹配的过程中,如果当前字符匹配(s[i]==p[j]||p[j]=='.'),且p[j+1] == "*";则可以继续匹配零次或多次,否则只匹配一次;若当前字符不匹配,但p[j+1]=="*",可以匹配一次,否则return false;classSolution{public:unordered_map<string,bool>memo;booldp(string&s,inti,string&p,intj){...

2020-11-06 16:08:29 104

原创 高效的实现素数的判断

//高效实现素数的判断#include<iostream>#include<vector>usingnamespacestd;intIsPrime(vector<int>&nums){vector<bool>prime(nums.size(),true);intlen=nums.size();for(inti=2;i*i<len;i++){...

2020-11-04 10:13:34 95

原创 滑动窗口算法之LeetCode 567. 字符串的排列

classSolution{public:boolcheckInclusion(strings1,strings2){intright=0,left=0,valid=0;unordered_map<char,int>need,window;for(constchar&c:s1)need[c]++;while(right<s2.size()){...

2020-09-19 17:11:15 70

原创 滑动窗口算法之LeetCode 438. 找到字符串中所有字母异位词

classSolution{public:vector<int>findAnagrams(strings,stringp){intright=0,left=0,valid=0;vector<int>res;unordered_map<char,int>need,window;for(constchar&c:p)need[c]++;...

2020-09-19 17:10:25 69

原创 滑动窗口算法之LeetCode 242. 有效的字母异位词

classSolution{public:boolisAnagram(strings,stringt){if(s.size()==0&&t.size()==0)returntrue;if(s.size()!=t.size())returnfalse;intright=0,left=0,valid=0;unordered_map<char,int...

2020-09-19 17:09:32 62

原创 滑动窗口算法之LeetCode 76. 最小覆盖子串

classSolution{public:stringminWindow(strings,stringt){intleft=0,right=0,valid=0,len=INT_MAX;intstart=0;unordered_map<char,int>need,window;for(autoc:t)need[c]++;while(ri...

2020-09-19 17:08:03 70

原创 滑动窗口算法之LeetCode 3. 无重复字符的最长子串

classSolution{public:intlengthOfLongestSubstring(strings){intlen=0,left=0,right=0;unordered_map<char,int>window;while(right<s.size()){charc=s[right++];window[c]++;...

2020-09-19 17:06:17 80

原创 滑动窗口算法之题解框架

在LeetCode的题库中,滑动窗口还是比较常见的一种题型//滑动窗口框架voidslideWindow(strings,stringt){intleft=0,right=0,valid=0;unordered_map<char,int>need,window;for(constchar&c:t)need[c]++;while(right<s.siz...

2020-09-19 17:05:01 82

原创 二分查找基本框架 (返回target,返回left,返回right)

/*返回target所在的位置intbinary_search(vector<int>nums,inttarget){intleft=0;intright=nums.size();while(left<=right){intmid=left+(right-left)/2;if(nums[m...

2020-09-18 19:39:07 2425

原创 BFS算法之LeetCode 111. 二叉树的最小深度

/*在此题中使用BFS算法(层次遍历)的思想来解决此问题每次都将一层的节点加入到队列中,直到发现节点为叶子结点返回最最小深度depth即可*/classSolution{public:intminDepth(TreeNode*root){//BFSqueue<TreeNode*>q;if(root==NULL)return0;intdepth=1;q....

2020-09-18 18:36:28 91

原创 BFS算法之LeetCode 752. 打开转盘锁

/*此处为超时答案,使用了BFS的思想*/classSolution{public:stringupString(strings,intj){if(s[j]=='9')s[j]='0';elses[j]+=1;returns;}stringdownString(strings,intj){if(s...

2020-09-17 18:02:58 79

原创 动态规划之钢条切割问题 (四)

/*动态规划之钢条的切割问题vector<int>p{0,1,5,8,9,10,17,17,20,24,30};p[i]表示的是i长度的钢条价值为p[i]求解将长度为n的钢条锯成多少小钢条才能使得价值最大此代码是动态规划之钢条切割问题(一)中代码的优化,使用vector<int>rem来记住计算过的长度为n钢条的最大价值这样可以避免许多的重复计算在本代码中使用了自底向上的方法且使用vector保存了切割的方法*/#incl...

2020-09-16 10:58:10 204

原创 动态规划之钢条切割问题 (三)

/*动态规划之钢条的切割问题vector<int>p{0,1,5,8,9,10,17,17,20,24,30};p[i]表示的是i长度的钢条价值为p[i]求解将长度为n的钢条锯成多少小钢条才能使得价值最大此代码是动态规划之钢条切割问题(一)中代码的优化,使用vector<int>rem来记住计算过的长度为n钢条的最大价值这样可以避免许多的重复计算在本代码中使用了自底向上的方法*/#include<iostream>...

2020-09-16 10:44:22 102

原创 动态规划之钢条切割问题 (二)

/*动态规划之钢条的切割问题vector<int>p{0,1,5,8,9,10,17,17,20,24,30};p[i]表示的是i长度的钢条价值为p[i]求解将长度为n的钢条锯成多少小钢条才能使得价值最大此代码是动态规划之钢条切割问题(一)中代码的优化,使用vector<int>rem来记住计算过的长度为n钢条的最大价值这样可以避免许多的重复计算*/#include<iostream>#include<vec...

2020-09-16 09:29:08 151

原创 动态规划之钢条切割问题 (一)

/*动态规划之钢条的切割问题vector<int>p{0,1,5,8,9,10,17,17,20,24,30};p[i]表示的是i长度的钢条价值为p[i]求解将长度为n的钢条锯成多少小钢条才能使得价值最大*/#include<iostream>#include<vector>usingnamespacestd;intcut_Rod(vector<int>p,intn){if(n=...

2020-09-16 09:14:11 198

原创 回溯算法之LeetCode 46. 全排列

//此题为LeetCode全排列系列的第一题,classSolution{public:vector<vector<int>>permute(vector<int>&nums){vector<vector<int>>res;vector<int>temp;backtrack(nums,temp,res);retu...

2020-09-16 08:44:32 96

原创 回溯算法之LeetCode 47. 全排列 II 数组之中允许元素重复

//此题解为允许全排列的第二题,数组之中的元素允许重复,需要考虑去重#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;voidbacktrack(vector<int>&nums,vector<int>&temp,vector<vector<int>>&res,vector<in...

2020-09-16 08:40:21 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除