每日一结

283. 移动零

左右开工,右边放零;
for(int i = 0; i < nums.length; i++) {
if(nums[i] == 0) {
ans[right--] = nums[i];
}else {
ans[left++] = nums[i];
}
}


219. 存在重复元素 II

for(int i = 0; i < nums.length; i++) {
if(map.containsKey(nums[i])) {
if(i - map.get(nums[i]) <= k) return true;
}
map.put(nums[i], i);
}


229. 多数元素 II

注意:
for(int i : map.keySet()) {
if(map.get(i) > nums.length / 3) {
list.add(i);
}
}


216. 组合总和 III

回溯;
if(path.size() == k) {
if(sum == n) {
ans.add(new ArrayList<>(path));
return ;
}
}
for(int i = index; i < 10; i++) {
if(sum < n) {
path.addLast(i);
dfs(path, sum + i, i + 1, k, n);//attention 不是 index + 1
path.removeLast();
}
}


1662. 检查两个字符串数组是否相等

StringBuilder.append();
StringBuilder.toString();
String.equasls();

posted on 2022-11-01 16:32  xtdnn  阅读(24)  评论(0)    收藏  举报

导航