題目 | 難度 | 狀態 | 參考資料 |
---|---|---|---|
454.四数相加II | Medium | Done | |
383. 赎金信 | Easy | Done | |
15. 三數之和 | TODO | ||
18. 四数之和 | TODO |
心得
今日總共花費時間: 3hrs,
補卡 2024/8/6
454.四数相加II
目前對HashMap很生疏阿
HashMap跟getOrDefult連續拼錯,看了好一陣子沒看出來,
貼上google搜尋才發現問題😂
看完影片後,看了詳解後才寫的
class Solution {
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
int result = 0;
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
for(int i:nums1){
for(int j:nums2){
int sum = i+j;
map.put(sum, map.getOrDefault(sum,0)+1);
}
}
for(int k:nums3){
for(int m:nums4){
int tar = 0-(k+m);
if(map.containsKey(tar)){
result += map.get(tar);
}
}
}
return result;
}
}
383. 赎金信
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] arr = new int[26];
for(int i = 0 ; i < ransomNote.length() ; i++){
arr[ransomNote.charAt(i)-'a']--;
}
for(int j = 0; j < magazine.length() ; j++){
arr[magazine.charAt(j)-'a']++;
}
for(int k:arr){
if(k<0){
return false;
}
}
return true;
}
}