学习日记5.2-5.5

2022.5.2

1、贪心算法刷题:

376. 摆动序列
局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值。
整体最优:整个序列有最多的局部峰值,从而达到最长摆动序列。
53. 最大子序和
贪心的思路为局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。从而推出全局最优:选取最大“连续和”
122. 买卖股票的最佳时机 II

总结:
  • 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。
  • 不好意思,贪心没套路,就刷题而言,如果感觉好像局部最优可以推出全局最优,然后想不到反例,那就试一试贪心吧!
  • 贪心的本质:局部最优和全局最优两个关键点。

2022.5.3

1、贪心算法刷题:

55. 跳跃游戏
(循环i<cover,cover=max(cover,i+nums[i]))
1005. K 次取反后最大化的数组和
(两次贪心,第一次贪心:把负数→正数,k–,第二次贪心:k为奇数,将最小数变负)
(学了IntStream快排,.of().boxed().sorted().mapToInt().toArray()和Arrays.stream(nums).sum())
134. 加油站
(三个参数,start,cursum,totalsum,totalsum>0,可以跑完,cursum<0,当前不行,start+1)

2022.5.4

1、回溯刷题:

77. 组合
216. 组合总和 III

2、二叉树刷题:

226. 翻转二叉树
101. 对称二叉树
104. 二叉树的最大深度(后序遍历,其实求的是高度,从下往上)

2022.5.4

1、二叉树刷题:

104. 二叉树的最大深度(前序递归函数需要定义两个变量,一个节点,一个该节点的当前深度,主函数需要写根节点和当前深度1)
111. 二叉树的最小深度
222. 完全二叉树的节点个数
110. 平衡二叉树(递归)

总结:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值