16. 最接近的三数之和
for(int i = 0; i < nums.length - 2; i++)
while(l < r) {
int cur = nums[i] + nums[l] + nums[r];
if(Math.abs(cur - target) < Math.abs(close - target)) {
close = cur;
}
if(cur > target) r--;
else if(cur < target) l++;
else return cur;
}
27. 移除元素 & 26. 删除有序数组中的重复项
跟去除重复元素 差不多做法;
int left = 0;
for(int i = 0; i < nums.length; i++) {
if(nums[i] != val) {
nums[left++] = nums[i];
}
}
return left;
&
int left = 0;
for(int i = 1; i < nums.length; i++) {
if(nums[left] != nums[i]) {
nums[++left] = nums[i];
}
}
return ++left;
33. 搜索旋转排序数组
return map.get(target) == null ? -1 : map.get(target);
主义为空的情况;
1768. 交替合并字符串
用toCharArray();
append();
toString();