376. 摆动序列
局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值。
整体最优:整个序列有最多的局部峰值,从而达到最长摆动序列。
53. 最大子序和
贪心的思路为局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。从而推出全局最优:选取最大“连续和”
122. 买卖股票的最佳时机 II
- 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。
- 不好意思,贪心没套路,就刷题而言,如果感觉好像局部最优可以推出全局最优,然后想不到反例,那就试一试贪心吧!
- 贪心的本质:局部最优和全局最优两个关键点。
55. 跳跃游戏
(循环i
(两次贪心,第一次贪心:把负数→正数,k–,第二次贪心:k为奇数,将最小数变负)
(学了IntStream快排,.of().boxed().sorted().mapToInt().toArray()和Arrays.stream(nums).sum())
134. 加油站
(三个参数,start,cursum,totalsum,totalsum>0,可以跑完,cursum<0,当前不行,start+1)
77. 组合
216. 组合总和 III
226. 翻转二叉树
101. 对称二叉树
104. 二叉树的最大深度(后序遍历,其实求的是高度,从下往上)
104. 二叉树的最大深度(前序递归函数需要定义两个变量,一个节点,一个该节点的当前深度,主函数需要写根节点和当前深度1)
111. 二叉树的最小深度
222. 完全二叉树的节点个数
110. 平衡二叉树(递归)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)