303. 区域和检索 - 数组不可变
前缀和在涉及计算区间和的问题时非常有用
18. 四数之和
有三数之和的铺垫,这道题也就轻松拿下了
15. 三数之和
这道题可比两数之和难多了,有重复复习的必要
454. 四数相加 II
将 num1 和 num2 组合相加,num3 和 num4 组合相加,分别记录在两个不同的 map 容器中。四数之和就被转换为两数之和
383. 赎金信
这道题和242.有效的字母异位词稍有不同
202. 快乐数
建立一张哈希表,如果计算出来的结果有在其中,就直接退出循环,表面这个数不是快乐数,不然你就一直死循环了
242. 有效的字母异位词
但我们绝不能选择 set 集合,因为它有去重功能。可以选择 map 映射,key 是 单个字母,value 是 单个字母的个数。如果遍历完成之后,所有单个字母的 value 都为 0,那么两个字符串就是字母异位词
350. 两个数组的交集 II
之所以选择链表,而没有选择 set,因为后者会进行去重,导致统计结果有问题
108.将有序数组转换为二叉搜索树
数组构造二叉树,构成平衡树是自然而然的事情,因为大家默认都是从数组中间位置取值作为节点元素,一般不会随机取
701. 二叉搜索树中的插入操作
我们插入元素,不需要考虑调整,插入的时候就插在最后面就可以,因此会有三种可插入情况,其中一种必然可插入,另外两种可能可以插入。如果不可插入,那就进入递归中进行查询
12347