![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
进阶LC
小堃哥
这个作者很懒,什么都没留下…
展开
-
lc92+Reverse Linked List II
https://leetcode.com/problems/reverse-linked-list-ii/struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: ListNode* revers...原创 2020-01-10 11:48:30 · 150 阅读 · 0 评论 -
lc95+Unique Binary Search Trees II
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public: vector<TreeNode*>generate(int s...原创 2020-01-10 11:45:07 · 170 阅读 · 0 评论 -
lc1087+单调栈经典题
https://leetcode.com/problems/next-greater-node-in-linked-list/ struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };class Solution {public: ...原创 2019-12-25 12:12:07 · 198 阅读 · 0 评论 -
lc96+Unique Binary Search Trees
https://leetcode.com/problems/unique-binary-search-trees///考虑根节点,设对于任意根节点k,有f(k)种树的可能。//比k小的k-1个元素构成k的左子树。则左子树有f(k-1)种情况。//比k大的n-k个元素构成k的右子树。则右子树有f(n-k)种情况。//易知,左右子树相互独立,所以f(k)=f(k-1)*f(n-k)。//...原创 2019-11-19 16:10:13 · 194 阅读 · 0 评论 -
ks+数组两部分之差最小,01背包
//数组分为两部分,使其和相差最小//01背包,在n件物品中找到m件物品,他们的可以装入背包中,且总价值最大不过这里不考虑价值,就考虑使得这些元素的和尽量接近sum/2。//如果第i件物品没有包括在其中,则dp[i][j] = dp[i-1][j]//如果第i件物品包括在其中,则dp[i][j] = dp[i-1][j-vec[i]for(int i=1;i<=len;i++){...原创 2019-11-19 15:53:12 · 222 阅读 · 0 评论 -
lc456+132 Pattern
https://leetcode.com/problems/132-pattern///通过维护s2>s3,一旦发现s1<s3来实现,所以遍历数组的顺序采用从右向左,维护s2>s3则通过一个栈和一个变量来实现,栈来表示s2,//变量来表示s3。当遍历到的第i个元素,若input[i]比s3大,就将input[i]入栈,入栈时要注意,若input[i]大于栈顶,则将栈顶赋值...原创 2019-11-08 10:28:32 · 132 阅读 · 0 评论 -
lc82+Remove Duplicates from Sorted List II
https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: ...原创 2019-11-07 17:26:53 · 93 阅读 · 0 评论 -
lc83+83. Remove Duplicates from Sorted List
https://leetcode.com/problems/remove-duplicates-from-sorted-list/submissions/struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {publ...原创 2019-11-07 17:20:50 · 108 阅读 · 0 评论 -
lc81+Search in Rotated Sorted Array II
https://leetcode.com/problems/search-in-rotated-sorted-array-ii///有重复元素存在,nums[l] <= nums[mid]不能说明[l,mid]区间内一定是单调的,比如数组[1,2,3,1,1,1,1],//但是严格小于和严格大于的情况还是可以判断的。所以当nums[l] == nums[mid]时,令l++,跳过这个...原创 2019-11-07 16:05:27 · 150 阅读 · 0 评论 -
lc100 Same Tree
https://leetcode.com/problems/same-tree/struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public:...原创 2019-10-23 01:15:38 · 94 阅读 · 0 评论 -
lc79+Word Search
https://leetcode.com/problems/word-search/class Solution {public: bool exist_helper(vector<vector<char>> board, string word, int i,int j, int index) { if(index==word.si...原创 2019-10-23 01:06:08 · 154 阅读 · 0 评论 -
lc78+Subsets
https://leetcode.com/problems/subsets/class Solution {public: void dfs(vector<int>&nums, int pos, vector<int>&path,vector<vector<int>>&result) { ...原创 2019-10-22 01:02:26 · 106 阅读 · 0 评论 -
lc77+Combinations
https://leetcode.com/problems/combinations/class Solution {public: vector<vector<int>>res; vector<int>temp; void DFS(int n, int k) { if(k==0){ ...原创 2019-10-21 22:02:43 · 99 阅读 · 0 评论 -
lc+yitu 逻辑题
一堆分50张,另外的都是属于另一堆。另一堆有正面x张,那么一堆就是有50-x正面朝上,那么正面朝下就是50-(50-x)=x。所以把一堆全部反转就是变成x张正面朝上。...原创 2019-10-19 17:10:52 · 188 阅读 · 0 评论 -
lc+yitu算法题
#include <iostream>#include<vector>#include<map>using namespace std;vector<int>res;map<int,int>mp;int main() { int n=0,num=0; scanf("%d",&n); for(int i=0...原创 2019-10-19 17:06:37 · 177 阅读 · 0 评论 -
lc76+Minimum Window Substring+双指针
https://leetcode.com/problems/minimum-window-substring///滑动窗口 双指针//begin开始指向0, end一直后移,直到begin - end区间包含T中所有字符。记录窗口长度d//然后begin开始后移移除元素,直到移除的字符是T中的字符则停止,此时T中有一个字符没被包含在窗口,//继续后移end,直到T中的所有字符被包含在窗...原创 2019-10-16 10:30:53 · 112 阅读 · 0 评论 -
lc73+ Set Matrix Zeroes
https://leetcode.com/problems/set-matrix-zeroes/class Solution {public: void setZeroes(vector<vector<int>>& matrix) { int row=matrix.size(); if(row==0) return;...原创 2019-10-16 00:13:56 · 127 阅读 · 0 评论 -
lc75+sort-colors+ 荷兰国旗
https://leetcode.com/problems/sort-colors/class Solution {public: void sortColors(vector<int>& nums) { int i=0,left=-1, right=nums.size(); for(i=0;i<nums.size();i+...原创 2019-10-15 23:44:02 · 104 阅读 · 0 评论 -
lc74+Search a 2D Matrix
https://leetcode.com/problems/search-a-2d-matrix/class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if(matrix.size()==0||matrix[0].siz...原创 2019-10-15 20:34:10 · 96 阅读 · 0 评论 -
lc66+plus-one
https://leetcode.com/problems/plus-one/ class Solution {public: vector<int> plusOne(vector<int>& digits) { int end=digits.size()-1; if(digits[end]!=9){ ...原创 2019-10-15 10:58:43 · 116 阅读 · 0 评论 -
lc64+Minimum Path Sum
https://leetcode.com/problems/minimum-path-sum/class Solution {public: int minPathSum(vector<vector<int>>& grid) { if(grid.size()==0) return 0; int m=grid.size(...原创 2019-10-15 10:39:23 · 98 阅读 · 0 评论 -
leetcode18+4sum
https://leetcode.com/problems/4sum/class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>>res; ...原创 2019-08-19 22:17:23 · 69 阅读 · 0 评论 -
shangtang+找第K小的数字,o(n)
#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<int>Arr;int partion(vector<int>&Arr, int left, int right){ int j=left-1; ...原创 2019-09-29 15:08:58 · 82 阅读 · 0 评论 -
hw+拓扑排序
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<string>#include<cstring>#include<math.h>#include<stack>#include...原创 2019-09-29 10:46:54 · 162 阅读 · 0 评论 -
leetcode59+Spiral Matrix II
https://leetcode.com/problems/spiral-matrix-ii/#include<iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<string>#include<cstring>#inc...原创 2019-09-26 16:37:00 · 80 阅读 · 0 评论 -
leetcode54+Spiral Matrix
https://leetcode.com/problems/spiral-matrix/class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { if(matrix.empty()) return {}; i...原创 2019-09-20 17:34:26 · 67 阅读 · 0 评论 -
leetcode407+Trapping Rain Water II
https://leetcode.com/problems/trapping-rain-water-ii/class Solution {public: int trapRainWater(vector<vector<int>>& heightMap) { if(heightMap.size()==0) return 0; ...原创 2019-09-20 00:58:54 · 100 阅读 · 0 评论 -
leetcode60+Permutation Sequence
https://leetcode.com/problems/permutation-sequence/class Solution {public: string getPermutation(int n, int k) { vector<int> res; string s; int num=1; for...原创 2019-10-03 14:41:51 · 82 阅读 · 0 评论 -
lc61+rotate_list
https://leetcode.com/problems/rotate-list///使用tail进行操作,tail就是head的前一个//61 Rotate Liststruct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Sol...原创 2019-10-04 17:45:53 · 109 阅读 · 0 评论 -
lc62+unique_paths
https://leetcode.com/problems/unique-paths/class Solution {public: int uniquePaths(int m, int n) { if(m==0||n==0) return 0; int res=0, dp[m+5][n+5],i=0,j=0; memset(dp,0...原创 2019-10-04 20:18:31 · 105 阅读 · 0 评论 -
lc63+Unique Paths II
https://leetcode.com/problems/unique-paths-ii/class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { if(obstacleGrid.size()==0) retur...原创 2019-10-04 23:51:24 · 102 阅读 · 0 评论 -
lc72+ Edit Distance
https://leetcode.com/problems/edit-distance/class Solution {public: int minDistance(string word1, string word2) { int len1=word1.size(),len2=word2.size(); vector<vector<i...原创 2019-10-05 11:45:39 · 126 阅读 · 0 评论 -
lc+Maximal Rectangle
https://leetcode.com/problems/maximal-rectangle///left[n] = max{left[n], cur_left}//right[n] = min{right[n], cur_right}//height[n] = height[n] + 1 if matrix[row][col] = 1//如果某个位置为0,则重置矩形高度;否则,高...原创 2019-10-06 20:04:59 · 98 阅读 · 0 评论 -
lc84+Largest Rectangle in Histogram
https://leetcode.com/problems/largest-rectangle-in-histogram/class Solution {public: int largestRectangleArea(vector<int> &height) { int res = 0; for (int i = 0; i &l...原创 2019-10-08 19:44:02 · 120 阅读 · 0 评论 -
矩阵快速幂+模版
https://www.cnblogs.com/kkrisen/p/3445738.html原创 2019-09-19 11:04:45 · 78 阅读 · 0 评论 -
leetcode43+multiply-strings
https://leetcode.com/problems/multiply-strings///43 模拟乘法class Solution {public: string multiply(string num1, string num2) { string sum(num1.size()+num2.size(), '0'); int carry...原创 2019-09-15 15:23:56 · 121 阅读 · 0 评论 -
leetcode23+Merge k Sorted Lists
https://leetcode.com/problems/merge-k-sorted-lists/struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: ListNode* mergeTwo...原创 2019-08-21 11:46:21 · 72 阅读 · 0 评论 -
leetcode22+Generate Parentheses
https://leetcode.com/problems/generate-parentheses/class Solution {public: void generate(int left, int right, string str, vector<string>& res) { if(left==0&&right...原创 2019-08-21 00:18:26 · 68 阅读 · 0 评论 -
leetcode33+Search in Rotated Sorted Array
https://leetcode.com/problems/search-in-rotated-sorted-array/class Solution {public: int search(vector<int>& nums, int target) { int left=0, right=nums.size()-1; int ...原创 2019-08-25 12:04:00 · 83 阅读 · 0 评论 -
leetcode28+implement-str
https://leetcode.com/problems/implement-strstr/class Solution {public: int strStr(string haystack, string needle) { int len1=haystack.size(), len2=needle.size(); if(len2==0||ha...原创 2019-08-25 12:02:30 · 84 阅读 · 0 评论