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

万网网站建设步骤中级经济师考试

万网网站建设步骤,中级经济师考试,自己做网站建设方案怎么做,事业单位网站建设的作用【双指针简化去重操作】【int运算范围】Leetcode 18 四数之和 解法1 仍然用双指针法 就是在三数求和的基础上扩展一个外层循环 ----------------------题目链接---------------------- ----------------------解析链接---------------------- 解法1 仍然用双指针法 就是在三数…

【双指针+简化去重操作】【int运算范围】Leetcode 18 四数之和

    • 解法1 仍然用双指针法 就是在三数求和的基础上扩展一个外层循环

----------------------题目链接----------------------
----------------------解析链接----------------------
在这里插入图片描述

解法1 仍然用双指针法 就是在三数求和的基础上扩展一个外层循环

新建一个嵌套列表:List<List<Integer>> result = new List<>();
初始化一个ArrayList并直接赋值:ArrayList<Integer> result = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
向列表中添加元素:result.add()
向ArrayList中添加:result.add (Arrays.asList(1, 2, 3, 4));

操作流程

  1. nums数组进行排序!!!
  2. nums[i] 从头到倒数第四个遍历数组,nums[j] 从i的下一个开始到倒数第三个遍历数组,
    nums[left]是nums[i]的下一个元素,nums[right]最初指向数组的最后一个元素
  3. 考察nums[i] + nums[j] + nums[left] + nums[right]的情况。如果和大于0,则right–,如果和小于0,则left++,等于0则添加结果

去重操作(不可以包含重复的四元组)

  • 对 i 进行去重:如果 i>0 , nums[i] == nums[i-1] , continue
  • 对 j 进行去重:如果 j>1 , j != i+1 , nums[j] == nums[j-1] , continue
  • 对 left 进行去重:如果nums[left] == nums[left+1]。left++
  • 对 right 进行去重:如果nums[right] == nums[right - 1]。right–

溢出问题
在Java中,int类型的大小是固定的,它是一个32位的整数类型。
因此,它的最大值是2^31 - 1,即2147483647,最小值是-2^31,即-2147483648。
如果你尝试存储超过这个范围的值,就会发生溢出。
(long)转化

时间复杂度O(N^3)
空间复杂度O(1)

class Solution {public List<List<Integer>> fourSum(int[] nums, int target) {//仍然用双指针法 就是在三数求和的基础上扩展一个外层循环List<List<Integer>> result = new ArrayList<>();// 从小到大 排序Arrays.sort(nums);// nums[i] nums[j]外层双循环 nums[left] nums[right]双指针遍历for(int i = 0; i < nums.length-3; i++){// 去重iif(i>0 && nums[i] == nums[i-1]) continue;for(int j = i+1; j < nums.length-2; j++){int left = j+1;int right = nums.length-1;// 去重jif(j>1 && j != i+1 && nums[j] == nums[j-1]) continue;while(left < right){if((long)nums[i]+nums[j]+nums[left]+nums[right] > target){ //防止溢出right--;}else if((long)nums[i]+nums[j]+nums[left]+nums[right] < target){//防止溢出left++;}else{result.add(Arrays.asList(nums[i], nums[j], nums[left], nums[right]));// 去重left while(left < right && nums[left] == nums[left+1]){left++;}// 去重rightwhile(left < right && nums[right] == nums[right - 1]){right--;}left++;right--;}}}}return result;}
}         
http://www.dtcms.com/wzjs/41550.html

相关文章:

  • 山东网站建设报价网站top排行榜
  • wordpress进网站慢搜索引擎优化排名seo
  • 化工外贸网站建设高端网站建设专业公司
  • 做pc端网站报价西安关键词seo
  • 网站设计 西安互动营销是什么意思
  • 三好街 做网站百度号码认证平台个人号码申诉
  • 印刷网站建设 优帮云seo定义
  • 新网网站内部优化成品网站货源1
  • 贵阳网站建设q.479185700惠营销型网站更受用户欢迎的原因是
  • 网站开发建设方案百度推广手机客户端
  • 企业网站管理系统 软件著作权百度推广介绍
  • 网站建设和使用情况营销网络
  • 个人怎么建立网站北京百度竞价托管公司
  • 东莞网站建设公司 网络服务佛山网站建设公司哪家好
  • 杭州九鸿科技网站开发免费的网络推广平台
  • 深圳公司网站建设seo赚钱
  • 网站设计大作业免费的网站平台
  • c 如何快速做动态网站关键字挖掘爱站网
  • 北京装修平台网站seo站群优化
  • 怎么做免费网站 视频推广网址
  • 威海住房建设部官方网站吸引人的软文标题
  • 好的外贸网站建设莆田百度快照优化
  • 网站建设是什么专业啊网络软文是什么
  • 网站制作英文版网站seo是什么意思怎么解决
  • 做网站的图片传进去很模糊企业新闻营销
  • 如何做简单网站app注册推广任务平台
  • dede网站搬家后为什么都没有内容呢放单平台大全app
  • 网站建设公司中企动力强南宁网络推广有几家
  • 9个做简历的网站沈阳seo建站
  • 如何做百度推广网站seo学徒招聘