#Etc

leetcode 112. Path Sum 、 113. Path Sum II 、437. Path Sum III

112.PathSum自己的一个错误写法:classSolution{public:boolhasPathSum(TreeNode*root,intsum){if(root==NULL)returnfalse;intvalue=0;returnhasPathSum(root,sum,value);}boolhasPat...

leetcode 207. Course Schedule 、 210. Course Schedule II 、 310. Minimum Height Trees

207.CourseSchedulehttps://blog.csdn.net/wongleetion/article/details/79433101问题的实质就是判断一个有向图是否有环,利用入度去解决这个问题使用bfs解决问题。初始化时,利用二维vector存储节点间的关系,并存储每个节点的入度,同时将入度为0的节...

leetcode 84. Largest Rectangle in Histogram 、85. Maximal Rectangle 、221. Maximal Square

84.LargestRectangleinHistogramhttps://www.cnblogs.com/grandyang/p/4322653.html整体思路是递增不处理,当遇到减少时,计算之前所有大于当前高度的最优解。因为实际上只要遇到比你小的,就不可能以你为高度了。索引之间的差刚好能反应当前栈中高度所覆盖的区...

leetcode 20. Valid Parentheses 、32. Longest Valid Parentheses 、301. Remove Invalid Parentheses

20.ValidParentheses 错误解法:"[])"就会报错,没考虑到出现')'、']'、'}'时,stack为空的情况,这种情况也无法匹配classSolution{public:boolisValid(strings){if(s.empty())returnfalse;stack<char&...

https://leetcode.com/problems/palindromic-substrings/description/

https://www.cnblogs.com/grandyang/p/7404777.html博客中写的<=2,实际上<=1也是可以的相当于判断一个大指针内所有子字符串是否可能为回文classSolution{public:intcountSubstrings(strings){intlength=s.s...

leetcode 621. Task Scheduler

https://www.cnblogs.com/grandyang/p/7098764.html将个数出现最多的那个字符作为分隔的标准,一定是最小的。所以这个时候只需要计算还需要添加多少个idel就能找到整个的个数。方法是:先计算个数最多的字符,并且判断有没有跟他个数相同的,如果这个字符出现的次数是3次,那其实只需要中...
代码星球 代码星球·2020-10-13

leetcode 235. Lowest Common Ancestor of a Binary Search Tree 236. Lowest Common Ancestor of a Binary Tree

https://www.cnblogs.com/grandyang/p/4641968.htmlhttp://www.cnblogs.com/grandyang/p/4640572.html利用二叉搜索树的性质:左子树所有节点小于根节点,右子树所有节点大于根节点如果两个节点的最大值小于根节点,那最低公共祖先一定在左子树...

leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列

 字符串排列和PermutationsII差不多Permutations第一种解法:这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字时间复杂度O(n!)classSolution{public:vector<vector<int>>pe...

leetcode 96. Unique Binary Search Trees 、95. Unique Binary Search Trees II 、241. Different Ways to Add Parentheses

96.UniqueBinarySearchTreeshttps://www.cnblogs.com/grandyang/p/4299608.html3由dp[1]*dp[1]、dp[0]*dp[2]、dp[2]*dp[0]相加而成从2开始classSolution{public:intnumTrees(intn){ve...

leetcode 338. Counting Bits,剑指offer二进制中1的个数

leetcode是求当前所有数的二进制中1的个数,剑指offer上是求某一个数二进制中1的个数https://www.cnblogs.com/grandyang/p/5294255.html第三种方法,利用奇偶性找规律 classSolution{public:vector<int>countBi...

leetcode 322. Coin Change

 https://www.cnblogs.com/grandyang/p/5138186.html状态方程为dp[i]=min(dp[i-1],dp[i-2],dp[i-3]),可能会造成下标为负的情况。如果出现下标为负,这种情况跳过不计算就好了。同时,有些金额换不出来。所以在初始化的时候,所有的零钱先初始化...
代码星球 代码星球·2020-10-13

leetcode 560. Subarray Sum Equals K 、523. Continuous Subarray Sum、 325.Maximum Size Subarray Sum Equals k(lintcode 911)

整体上3个题都是求subarray,都是同一个思想,通过累加,然后判断和目标k值之间的关系,然后查看之前子数组的累加和。map的存储:560题是存储的当前的累加和与个数      561题是存储的当前累加和的余数与第一次出现这个余数的位置      325题存储的是当前累加和与第一次出现这个和的位置其实561与325都...

leetcode 79. Word Search 、212. Word Search II

 https://www.cnblogs.com/grandyang/p/4332313.html在一个矩阵中能不能找到string的一条路径  这个题使用的是dfs。但这个题与numberofislands有点不同,那个题中visited过的就不用再扫了,但是这个需要进行回溯回来。所以使...

leetcode538. Convert BST to Greater Tree

https://www.cnblogs.com/grandyang/p/6591526.html这个题本质上是中序遍历的反向。中序遍历是从小到大,而这个题目是从大到小,然后每个数加上比自己大的所有数的和。因为实际上并没有改变树的结构,只是改变了原来树中节点的值,所以用void做返回值就可以了。每次加sum实际上就是加的...

leetcode 280.Wiggle Sort 、324. Wiggle Sort II

这两个题可以理解为奇数位大于相邻两个偶数位,这两个题的输入数组是相同的,即数组中数值无序,且可能有相等的数值。但WiggleSortII要求是奇偶位的只能大于,不能等于。无论是280.WiggleSort还是324.WiggleSortII,都可以通过排序,然后以中间值为分界分成a、b两部分,每次先从a中选择一个数,然...
首页上一页...3031323334...下一页尾页