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

廊坊网站建设模板兰州自媒体公司有哪些

廊坊网站建设模板,兰州自媒体公司有哪些,蛋糕网站制作答辩,国家查企业的网站18. 四数之和 原题链接:完成情况:解题思路:参考代码:错误经验吸取 原题链接: 18. 四数之和 https://leetcode.cn/problems/4sum/description/ 完成情况: 解题思路: /** * //HashMap只能记录…

18. 四数之和

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:
  • 错误经验吸取

原题链接:

18. 四数之和
https://leetcode.cn/problems/4sum/description/

完成情况:

在这里插入图片描述

解题思路:

/**
* //HashMap只能记录key,value的结果
* //而不能记录产生这个结果的过程
*
* @param nums
* @param target
* @return
*/

思路全在代码注释里

参考代码:

package LeetCode算法题;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class __18四数之和 {/***         //HashMap只能记录key,value的结果*         //而不能记录产生这个结果的过程** @param nums* @param target* @return*/public List<List<Integer>> fourSum(int[] nums, int target) {//参考之前的三数求和,以及四数直接结果求和,//难道是构造两两的两对,然后一个两对的集合,去和另外两个数去判断???List<List<Integer>> res = new ArrayList<List<Integer>>();int len = nums.length;if (nums == null || len < 4){return res;}Arrays.sort(nums);  //初始先将所有元素排好序,这样可以避免混乱的找要求数字for (int i=0;i<len-3;i++){if (i>0 && nums[i] == nums[i-1]){   //从第二个数开始判断continue;       //并且去重}//取完重复之后,固定一个点,剩下指针指向三个节点//然后进行左右判断if ((long)nums[i] + nums[i + 3] + nums[i + 2] + nums[i+1] > target){break;      //如果最左边四个数还比target大,那么说明已经没有数满足target了。}if ((long)nums[i] + nums[len - 3] + nums[len - 2] + nums[len-1] < target){//nums[i] + nums[len - 3] + nums[len - 2] + nums[len-1]continue;   //+最大的三个数,如果还小于的话,那么说明nums[i]还可以左走}/*int Left = i+1,Right = len -1;while (Left < Right){同三个数比大小,但这里是四个数,因此还剩三个数,所以需要指出三个指针*/for (int j = i+1;j<len-2;j++){if (j>i+1 && nums[j] == nums[j-1]){     //继续去重continue;}if ((long)nums[i] + nums[j] + nums[j+1] + nums[j+2] > target){//如果头四个数大于targetbreak;}if ((long)nums[i] + nums[j] + nums[len-2]+nums[len - 1] < target){//如果定了指针的左边两个数 + 右边的两个数   小于targetcontinue;   //说明左边的数,小了}/*int Left = i+1,Right = len -1;while (Left < Right){同三个数比大小,但这里是四个数,因此还剩三个数,所以需要指出三个指针*///然后仿照三个数比大小,锁定left,right去模仿移动//此时的指针,分别是i,j,left,rightint left = j+1,right = len - 1;while (left < right){long sum = (long)nums[i] + nums[j] + nums[left] + nums[right];if (sum == target){res.add(Arrays.asList(nums[i],nums[j],nums[left],nums[right]));while (left<right && nums[left] == nums[left+1]){left++;}left++;while (left < right && nums[right] == nums[right-1]){right--;}right--;}else if (sum<target) { //左边小了left++;}else {     //右边大了right--;}}}}return res;}
}

错误经验吸取

http://www.hyszgw.com/news/42351.html

相关文章:

  • 广东网站建设联系商贸网站建设
  • 摄影网站的需求分析网站建设 美词原创
  • 网站类网站开发教程美食网站开发目的
  • 邯郸网站设计哪家好闲鱼上做网站
  • .net开发网站的优点民宿网站开发方案
  • 渭南做网站哪家好郑州校园兼职网站建设
  • 聊城网站开发培训泰安网红打卡地
  • 帮助做职业规划的网站wordpress优化
  • 嘉兴网站建设制作sas wordpress 插件
  • 企业网站优化应该怎么做好用的免费国内ip代理
  • 做企业网站的缺点成都seo优化外包公司
  • 网站栏目页面做网站用php还是html
  • 下列关于网站开发wordpress 外贸主题
  • 知乎 网站建设郑州网站做网站
  • 网站只收录无权重做景观的网站
  • 新wordpress仿站百度一下网页版搜索引擎
  • 深圳网站制作哪家好薇西安做官网的公司
  • 成都优化网站哪家公司好网页制作论文3000字
  • 笑话 语录用什么网站做服务器网站部署端口配置
  • 绵阳城乡住房建设厅网站wordpress 生命周期
  • 东丽区 网站建设搜索引擎网页
  • 东莞企业免费建站小程序自己免费制作
  • dz网站设置了关键词但是不显示常州网站建设段新浩
  • 自适应网站建设公司seo推广培训费用
  • 网站建设的广告词低价网站建设扬州
  • 网站制作top如何建自己的网站
  • 湖北网站设计公司社群营销的方法和技巧
  • 做网站的重点目标信息管理与信息系统
  • 建设银行网站个人中心商城网站 html模板
  • 网站开发兼容性公司设计资质