当前位置: 首页 > news >正文

做网站能致富吗沈阳网站优化

做网站能致富吗,沈阳网站优化,如何做网站跳转,手机建站平台淘客打卡Day7 1.454.四数相加II2.383. 赎金信3.15. 三数之和4.18. 四数之和 1.454.四数相加II 题目链接:四数相加II 文档讲解: 代码随想录 class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {int res 0;Map…

打卡Day7

  • 1.454.四数相加II
  • 2.383. 赎金信
  • 3.15. 三数之和
  • 4.18. 四数之和

1.454.四数相加II

题目链接:四数相加II
文档讲解: 代码随想录

class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {int res = 0;Map<Integer,Integer> map = new HashMap<>();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;}
}

2.383. 赎金信

题目链接:赎金信
文档讲解: 代码随想录

class Solution {public boolean canConstruct(String ransomNote, String magazine) {int[] record = new int[26];if(ransomNote.length() > magazine.length()){return false;}for(int i = 0; i < magazine.length(); i++){record[magazine.charAt(i) - 'a']++;}for(int i = 0; i < ransomNote.length(); i++){record[ransomNote.charAt(i) - 'a']--;}for(int i = 0; i < ransomNote.length(); i++){//判断不等于0是不对的,没有考虑到magazine中存在该字母出现更多次的情况if(record[ransomNote.charAt(i) - 'a'] < 0){return false;}}return true;}
}
//使用增强for
class Solution {public boolean canConstruct(String ransomNote, String magazine) {int[] record = new int[26];if(ransomNote.length() > magazine.length()){return false;}for(char i: magazine.toCharArray()){record[i - 'a'] += 1;}for(char i: ransomNote.toCharArray()){record[i - 'a'] -= 1;}for(int i: record){if(i < 0){return false;}}return true;}
}

3.15. 三数之和

题目链接:三数之和
文档讲解: 代码随想录

class Solution {public List<List<Integer>> threeSum(int[] nums) {//哈希法List<List<Integer>> res = new ArrayList<>();//需要对nums进行排序Arrays.sort(nums);for(int i = 0; i < nums.length; i++){//如果第一个元素大于0,则不可能存在三元组if(nums[i] > 0){return res;}//a去重if(i > 0 && nums[i] == nums[i - 1]){continue;}HashSet<Integer> set = new HashSet<>();for(int j = i + 1; j < nums.length; j++){//b去重if(j > i + 2 && nums[j] == nums[j - 1] && nums[j] == nums[j - 2]){continue;}int c = - nums[i] - nums[j];if(set.contains(c)){res.add(Arrays.asList(nums[i], nums[j], c));set.remove(c);//c去重}else{set.add(nums[j]);}                        }}return res;}
}

注意点:
(1)a 的去重:在两种方法中纠结,一是判断nums[i] == nums[i+1],一种是判断nums[i] == nums[i-1]。如果前者,那么存在遗漏情况,例如{-1,-1,2}。
(2)b 的去重:可以和 a 一样判断nums[j] == nums[j-1],从而跳过相同的b。但是这样子可能会遗漏情况,例如{0,0,0}。因此只有当当前的 b 和前两个 b 都相同时才跳过当前的 b。这样可以保证至少有一个 b 被使用,并且不会出现重复。

class Solution {public List<List<Integer>> threeSum(int[] nums) {//双指针法List<List<Integer>> res = new ArrayList<>();//需要对nums进行排序Arrays.sort(nums);for(int i = 0; i < nums.length; i++){if(nums[i] > 0){return res;} //a去重if(i >= 1 && nums[i] == nums[i - 1]){continue;}int left = i + 1;int right = nums.length - 1;while(left < right){//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--;}right--;left++;}}}      return res;}
}

两数之和不能用双指针法的原因:因为双指针法需要排序,而两数之和需要返回索引下标。

4.18. 四数之和

题目链接:四数之和
文档讲解: 代码随想录

class Solution {public List<List<Integer>> fourSum(int[] nums, int target) {List<List<Integer>> res = new ArrayList<>();Arrays.sort(nums);for(int i = 0; i < nums.length; i++){//剪枝if(nums[i] > 0 && nums[i] > target){return res;}//去重if(i > 0 && nums[i] == nums[i - 1]){continue;}for(int j = i + 1; j < nums.length; j++){                            //去重if(j > i + 1 && nums[j] == nums[j - 1]){continue;}int left = j + 1;int right = nums.length - 1;while(left < right){long sum = (long) 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[left + 1]){left++;}while(left < right && nums[right] == nums[right - 1]){right--;}left++;right--;}}}}return res;}
}
http://www.jinmujx.cn/news/115314.html

相关文章:

  • 网站中的qq客服怎么做的seo关键词外包
  • wordpress建站不懂程序搭建一个网站需要多少钱
  • 网站开发绩效考核与薪酬电销名单渠道在哪里找
  • 代购网站怎么做的网页设计代做
  • 做一个b2c网站百度做推广一般要多少钱
  • 大气高端网站外贸建站优化
  • 承德网站建设怎么建设的网站模板大全
  • 做淘宝电商比较厉害的网站企业营销型网站建设
  • 郑州电子商务网站建设seo做的比较牛的公司
  • 炉石做任务抽奖网站b站推出的短视频app哪个好
  • wordpress手机端网站浏览器打开是2345网址导航
  • 自助建站平台哪个靠谱没经验怎么开广告公司
  • 烟台免费做网站关键词排名是由什么决定的
  • 网站中验证码如何做的免费建立网站
  • 做视频的软件模板下载网站线上营销推广方案
  • 龙岗中心城网站建设牛排seo
  • .net响应式网站模板枸橼酸西地那非片是什么
  • 乌克兰服务器seo优化多少钱
  • 做影视会员网站不受限制的搜索引擎
  • wordpress对接公众号源码优化设计六年级下册数学答案
  • 如何企业网站的软文优帮云排名优化
  • 500强企业排名一览表seo是什么公司
  • 网站新闻发布后前台不显示正规的推文平台
  • 日本做电子贺卡网站安卓优化大师官方版
  • 什么网站可以做微招聘鸡西seo
  • 哈尔滨+做网站公司有哪些seo外链专员工作要求
  • 品牌宣传型网站有哪些搜索引擎优化实训心得
  • wordpress添加独立下载页面网络营销推广优化
  • 网站开发成功案例品牌推广方式有哪些
  • 网站怎么做支付接口网站设计公司