大纲
注:
- 带
*
的表示重复出现
双指针
算法练习1——合并两个有序数组
算法练习2——移除元素
算法练习3——删除有序数组中的重复项
算法练习4——删除有序数组中的重复项 II
数学
数组
算法练习6——旋转数组
*算法练习7——买卖股票的最佳时机
算法练习8——有序三元组中的最大值
动态规划
哈希表
算法练习9——收集元素的最少操作次数
算法练习10——数组为空的最少操作次数
总结
- Python 中 list.sort 实现算法为 Timsort 算法
- 分组循环模板
i, n = 0, len(nums)
while i < n:
start = i
while i < n and ...:
i += 1
# 从 start 到 i-1 是一段
# 下一段从 i 开始,无需 i+=1