
leetcode备份-中等
ChenD17
这个作者很懒,什么都没留下…
展开
-
leetcode-718-最长重复子数组
classSolution{public:intfindLength(vector<int>&A,vector<int>&B){intres=0;if(A.size()==0||B.size()==0)return0;vector<vector<int>>dp(A.size(),vector<int>(B.siz...原创 2020-07-01 16:20:58 · 193 阅读 · 0 评论 -
leetcode-面试题 16.18-模式匹配
classSolution{public:boolpatternMatching(stringpattern,stringvalue){vector<int>cnt=pre(pattern);if(pattern=="")returnvalue=="";if(value=="")returnpattern==""||(cnt[0]==1&&c...原创 2020-06-22 20:04:25 · 166 阅读 · 0 评论 -
leetcode-494-目标和
//注意初始化的时候,如果nums[0]为0,则重复初始化,导致只计算一次,因此后来改成+=,而不是直接赋值classSolution{public:intfindTargetSumWays(vector<int>&nums,intS){intsum=0;for(auton:nums)...原创 2020-06-22 20:05:37 · 146 阅读 · 0 评论 -
leetcode-139-单词拆分
classSolution{public:boolwordBreak(strings,vector<string>&wordDict){set<string>dict(wordDict.begin(),wordDict.end());vector<bool>dp(s.leng...原创 2020-06-22 20:06:08 · 131 阅读 · 0 评论 -
leetcode-377-组合总和IV
//当输入测试用例为 [3,33,333], 10000时,编译器大整数相加溢出,使用unsigned long long来存储classSolution{public:intgcd(inta,intb){returnb==0?a:gcd(b,a%b);}intcombinationSum4(v...原创 2020-06-22 20:06:21 · 210 阅读 · 0 评论 -
leetcode-322-零钱兑换
//注意但凡出现数组就要考虑越界classSolution{public:intcoinChange(vector<int>&coins,intamount){sort(coins.begin(),coins.end());intbase=coins[0];if(amou...原创 2020-06-22 20:06:48 · 188 阅读 · 0 评论 -
leetcode-376-摆动序列
classSolution{public:intwiggleMaxLength(vector<int>&nums){if(nums.size()<2)returnnums.size();intres=1;vector<vector<int>>d...原创 2020-06-22 20:06:59 · 233 阅读 · 0 评论 -
leetcode-300-最长上升子序列
classSolution{public:intlengthOfLIS(vector<int>&nums){if(nums.size()==0)return0;intres=1;vector<int>dp(nums.size(),1);f...原创 2020-06-22 20:07:10 · 167 阅读 · 0 评论 -
leetcode-309-最佳买卖股票时机含冷冻期
classSolution{public:intmaxProfit(vector<int>&prices){if(prices.size()<2)return0;vector<vector<int>>dp_hasnt(prices.size(),vector<...原创 2020-06-22 20:08:25 · 680 阅读 · 0 评论 -
leetcode-213-打家劫舍II
classSolution{public:introb(vector<int>&nums){if(nums.size()==0)return0;if(nums.size()==1)returnnums[0];if(nums.size()==2)returnm...原创 2020-06-22 20:06:37 · 139 阅读 · 0 评论 -
leetcode-63-不同路径II
classSolution{public:intuniquePathsWithObstacles(vector<vector<int>>&obstacleGrid){if(obstacleGrid[0][0]==1)return0;vector<vector<longlon...原创 2020-06-22 20:07:36 · 209 阅读 · 0 评论 -
leetcode-91-解码方法
classSolution{public:intnumDecodings(strings){vector<int>dp(s.length()+1,1);if(s[0]=='0')return0;for(inti=1;i<s.length();i++){...原创 2020-06-22 20:07:20 · 1144 阅读 · 0 评论 -
leetcode-64-最小路径和
classSolution{public:intminPathSum(vector<vector<int>>&grid){for(inti=1;i<grid[0].size();i++)grid[0][i]+=grid[0][i-1];for(inti=1;i<gr...原创 2020-06-22 20:07:27 · 123 阅读 · 0 评论 -
leetcode-120-三角形最小路径和
classSolution{public:intminimumTotal(vector<vector<int>>&triangle){intres=INT_MAX;vector<vector<int>>dp;dp.push_back(vect...原创 2020-06-22 20:07:55 · 150 阅读 · 0 评论 -
leetcode-200-岛屿数量
classSolution{public:vector<vector<int>>move={{0,1},{1,0},{0,-1},{-1,0}};//y,x右下左上voidmarkIslands(vector<vector<char>>&grid,inty,intx){...原创 2020-06-22 20:08:14 · 212 阅读 · 0 评论 -
leetcode-79-单词搜索
classSolution{public:vector<vector<int>>move={{0,1},{1,0},{0,-1},{-1,0}};//右下左上vector<vector<bool>>visited;booloutofArea(vector<vector<ch...原创 2020-06-22 20:08:32 · 145 阅读 · 0 评论 -
leetcode-90-子集II
classSolution{public:vector<vector<int>>res;intflag=0;voidhelper(vector<int>nums,intbegin,vector<int>curres){if(flag)res.push_back...原创 2020-06-22 20:08:04 · 146 阅读 · 0 评论 -
leetcode-40-组合总和II
classSolution{public:vector<vector<int>>res={};voidhelper(vector<int>&candidates,inttarget,intbegin,vector<int>curres){if(target==0)...原创 2020-06-22 20:08:51 · 120 阅读 · 0 评论 -
leetcode-39-组合总和
classSolution{public:vector<vector<int>>res={};voidhelper(vector<int>&candidates,inttarget,intbegin,vector<int>curres){if(target==...原创 2020-06-22 20:09:00 · 99 阅读 · 0 评论 -
leetcode-77-组合
classSolution{public:vector<vector<int>>res;voidhelper(intbegin,intn,intk,vector<int>curres){if(curres.size()==k)res.push_back(curres);...原创 2020-06-22 20:09:07 · 143 阅读 · 0 评论 -
leetcode-47-全排列II
classSolution{public:vector<bool>used;vector<vector<int>>res;voidhelper(vector<int>&nums,intindex,vector<int>curres){if(ind...原创 2020-06-22 20:09:35 · 191 阅读 · 0 评论 -
leetcode-46-全排列
classSolution{public:vector<vector<int>>res={};voidhelper(vector<int>nums,vector<int>curres){if(nums.size()==0)res.push_back(curres);...原创 2020-06-22 20:09:16 · 128 阅读 · 0 评论 -
leetcode-131-分割回文串
classSolution{public:vector<vector<string>>res;boolisHuiwen(strings){for(inti=0;i<s.length()/2;i++)if(s[i]!=s[s.length()-1-i])returnfa...原创 2020-06-22 20:10:24 · 252 阅读 · 0 评论 -
leetcode-17-电话号码的字母组合
//回溯法classSolution{vector<string>letter_map={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};//0-9vector<string>res={};voidletterCombine(s...原创 2020-06-22 20:10:34 · 156 阅读 · 0 评论 -
leetcode-113-路径总和II
/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}*};...原创 2020-06-22 20:11:32 · 147 阅读 · 0 评论 -
leetcode-347-前K个高频元素
//利用优先队列(注意优先队列的写法,包括创建最小堆还是最大堆,包括写不写自己的比较函数)//pair比较时只比较第一个元素classSolution{public:vector<int>topKFrequent(vector<int>&nums,intk){unordered_map<int,i...原创 2020-06-24 14:41:11 · 262 阅读 · 0 评论 -
leetcode-279-完全平方数
//也可以用队列,下次再看classSolution{public:intnumSquares(intn){vector<int>dp(n,n);dp[0]=1;for(inti=1;i<n;i++){//dp[i],i+1的结果if(sqr...原创 2020-06-23 14:27:02 · 136 阅读 · 0 评论 -
leetcode-102-二叉树的层次遍历
classSolution{public:vector<vector<int>>levelOrder(TreeNode*root){vector<vector<int>>res={};TreeNode*curNode=root;queue<pair...原创 2020-06-28 09:47:40 · 138 阅读 · 0 评论 -
leetcode-150-逆波兰表达式求值
class Solution {public: int cul(int a, int b, char tokens) {//a:顶一,b:顶二 switch (tokens) { case('+'): return a + b; case('-'): return b - a; case('*'): re...原创 2020-06-23 14:28:31 · 158 阅读 · 0 评论 -
leetcode-19-删除链表的倒数第N个节点
//考虑好边界条件,特别是n=1的时候classSolution{public:ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*curNodeL=head;ListNode*curNodeR=head;for(inti=1;...原创 2020-06-23 14:27:11 · 194 阅读 · 0 评论 -
leetcode-24-两两交换链表中的节点
class Solution {public: ListNode* swapPairs(ListNode* head) { if (head == NULL || head->next == NULL ) return head; ListNode* dumhead = new ListNode(0); dumhead->n...原创 2020-06-28 09:45:58 · 193 阅读 · 0 评论 -
leetcode-82-删除排序链表中的重复元素 II
//不加伪头结点可能可以更快,注意new了就要删,指针不指了就要删class Solution {public: ListNode* deleteDuplicates(ListNode* head) { ListNode* temp = new ListNode(0); temp->next = head; ListNode*...原创 2020-06-28 09:47:48 · 191 阅读 · 0 评论 -
leetcode-445-两数相加II
//与倒序不同,如果程序一开始没有reverse l1,不能直接返回l1,因为其依然指向原头结点,即现尾节点class Solution {public: ListNode* reverseListNode(ListNode* head) { ListNode* preNode = NULL; ListNode* curNode = head...原创 2020-06-24 14:43:46 · 149 阅读 · 0 评论 -
leetcode-2-两数相加·
class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* curNode1 = l1; ListNode* curNode2 = l2; ListNode* temp = NULL; int k = 0,...原创 2020-06-23 14:27:52 · 138 阅读 · 0 评论 -
leetcode-328-奇偶链表
class Solution {public: ListNode* oddEvenList(ListNode* head) { if (head == NULL || head->next == NULL) return head; int cnt = 1; ListNode* mid = head; ListNo...原创 2020-06-23 14:27:42 · 170 阅读 · 0 评论 -
leetcode-86-分隔链表
class Solution {public: ListNode* partition(ListNode* head, int x) { if (head == NULL) return head; ListNode* mid = NULL; ListNode* curNode = head; if (head->...原创 2020-06-23 14:29:50 · 136 阅读 · 0 评论 -
leetcode-92-反转链表II
/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:...原创 2020-07-01 16:19:03 · 125 阅读 · 0 评论 -
leetcode-220-存在重复元素III
//示例中有整形溢出的问题,代码中强制转换为long long//使用了ceil操作(在容器中为lower_bound)class Solution {public: bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) { if (nums.size(...原创 2020-06-24 14:43:55 · 227 阅读 · 0 评论 -
leetcode-49-字母异位词分类
//思路差不多,有比较简洁的写法(第二种)class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { int N = strs.size(), index=0; vector<vector&...原创 2020-06-22 20:05:07 · 208 阅读 · 0 评论 -
leetcode-16-最接近的三数之和
//最前面多加一句判断(是否个数为3个),从超过59%升为超过99%,无语classSolution{public:intthreeSumClosest(vector<int>&nums,inttarget){if(nums.size()==3)returnnums[0]+nums[1]+nums[2];...原创 2020-06-28 09:47:56 · 112 阅读 · 0 评论