15. 三数之和
先排序;
遇到重复数字时直接 continue;以免答案重复;
注意在内层,将问题转化为两数之和采用双指针解决时;
利用多分枝的条件判断以减少时间;
while(second < thrid && (nums[second] + nums[thrid]) > targer) thrid--;
if(second == thrid) break;//attention
1. 两数之和
采用HashMap;
if(map.containsKey(target - nums[i])) {
return new int[]{i, map.get(target - nums[i])};
}
4. 寻找两个正序数组的中位数
不如将之合并为一个数组,排序后求解中位数,/ 2.0;
11. 盛最多水的容器
采用暴力解法;
移动短板,并更新最大值;