网站建设可以作为无形资产吗,常德做网站,wordpress 应用主题,浙江购物网站开发设计提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣454. 四数相加 II二、力扣383. 赎金信三、力扣15. 三数之和四、力扣18. 四数之和 前言
提示#xff1a;这里可以添加本文要记录的大概内容#xff1… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、力扣454. 四数相加 II二、力扣383. 赎金信三、力扣15. 三数之和四、力扣18. 四数之和 前言
提示这里可以添加本文要记录的大概内容 提示以下是本篇文章正文内容下面案例可供参考
一、力扣454. 四数相加 II
class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {MapInteger, Integer map new HashMap();int res 0;for(int i: nums1){for(int j : nums2){int sum i j;map.put(sum, map.getOrDefault(sum, 0) 1);}}for(int i : nums3){for(int j : nums4){res map.getOrDefault(0-i - j, 0);}}return res;}
}
二、力扣383. 赎金信
class Solution {public boolean canConstruct(String ransomNote, String magazine) {int[] arr new int[27];for(int i 0; i ransomNote.length(); i ){arr[ransomNote.charAt(i) - a] ;}for(int i 0; i magazine.length(); i ){arr[magazine.charAt(i) - a] --;}for(int i : arr){if(i 0){return false;}}return true;}
}三、力扣15. 三数之和
class Solution {public ListListInteger threeSum(int[] nums) {ListListInteger res new ArrayList();Arrays.sort(nums);for(int i 0; i nums.length-2;){if(nums[i] 0){return res;}int left i1, right nums.length -1;while(left right){int sum nums[i] nums[left] nums[right];if(sum 0){right --;}else if(sum 0){left ;}else{res.add(Arrays.asList(nums[i], nums[left], nums[right]));while(left right nums[left] nums[left 1])left ;while(left right nums[right] nums[right - 1]) right --;left ;right --;}}while(nums[i] nums[i1] i nums.length-2)i ;i ;}return res;}
}四、力扣18. 四数之和
class Solution {public ListListInteger fourSum(int[] nums, int target) {ListListInteger res new ArrayList();if(nums.length 3){return res;}Arrays.sort(nums);for(int i 0; i nums.length -3;){if(target 0 nums[i]0){return res;}for(int j i 1; j nums.length - 2; ){int left j 1, right nums.length - 1;while(left right){int sum nums[i] nums[j] nums[left] nums[right];if(sum target){right --;}else if(sum target){left ;}else{res.add(Arrays.asList(nums[i], nums[j], nums[left], nums[right]));while(left right nums[left] nums[left1])left;while(left right nums[right] nums[right-1])right--;left ;right --;}}while(j nums.length-2 nums[j] nums[j 1])j ; j ;}while(i nums.length-3 nums[i] nums[i1])i ; i ;}return res;}
}