454
ab/cd分两部分遍历提高时间复杂度
要计数,所以不用判断找没找到,有判断的话则一直加不进去。
383
一开始想用map,有问题,先考虑能否用hasp,再选择array/set/map.
待构成的赎金心size一定要小于等于构成的元素size
15
1.哈希法要考虑去重!
2.双指针法
num[i] == num[i-1],和前面的判断,如果相等,说明前面已经出现同样的三元组了,直接continue
再判断bc去重时,保证right>left,且之后记得两侧向中间移位置。
continue跳出本次循环,则会进入while判断中,个例会一直重复,超出time limit。continue在while循环中的作用_while continue-CSDN博客
18
双指针法
排序后不能依照 nums[k] > target 来剪枝,因为target有可能是负数,负数相加更小
k,i,两层逐层剪枝,之后遍历left,right指针。
此时用break,不用return result是因为有两层循环,剪枝只需要推出当前的循环。
总结
一般来说哈希表都是用来快速判断一个元素是否出现集合里。