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

平易云 网站建设百度一下百度百科

平易云 网站建设,百度一下百度百科,济南网站建设公司哪个好,weixinqqcom微信官网一、题目描述给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。…

一、题目描述

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例 1:

输入:nums = [-1,0,1,2,-1,-4]

输出:[[-1,-1,2],[-1,0,1]]

解释:

nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。

nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。

nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。

不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。

注意,输出的顺序和三元组的顺序并不重要。

示例 2:

输入:nums = [0,1,1]

输出:[]

解释:唯一可能的三元组和不为 0 。

示例 3:

输入:nums = [0,0,0]

输出:[[0,0,0]]

解释:唯一可能的三元组和为 0 。

来源:力扣(LeetCode)

链接:https://leetcode.cn/problems/3sum

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

二、运行结果

三、解题思路

首先对原数组按非降序的方式进行排序。逐个将从第1个至第n-2个元素作为三个元素中的第一个(i),另外两个元素只考虑i后面的元素,采用双指针的方式,两个指针分别从两端向中间靠拢,如果出现重复的值就跳过(只考虑第一次出现的时候),避免出现重复的组合。

这里效率比较低的原因可能是在循环里的判断太多,可以尝试一下改进循环内结构,减少判断,如将while循环也改为for循环,即以第二个元素的下标作为内存循环。

四、AC代码

class Solution {public List<List<Integer>> threeSum(int[] nums) {int len = nums.length;List<List<Integer>> ans = new ArrayList<>();Arrays.sort(nums);  //对原数组排序for(int i=0; i<len-2; i++){  //第一个元素下标if(i>0 && nums[i]==nums[i-1]) continue;int j = i+1, k = len -1; //j是第二个元素的下标,k是第三个元素的下标while(j < k){List<Integer> tmplist= new ArrayList<>();if(j > i+1){  //去除重复的组合while(nums[j] == nums[j-1] && j<k) j++;}if(k < len-1){while(nums[k] == nums[k+1] && k>j) k--;}if(j >= k) break;if(nums[i] + nums[j] + nums[k] == 0){tmplist.add(nums[i]);tmplist.add(nums[j]);tmplist.add(nums[k]);ans.add(tmplist);j++; k--;}else if(nums[i] + nums[j] + nums[k] > 0) k--;else j++;}}return ans;}
}

http://www.dt0577.cn/news/40311.html

相关文章:

  • 淘宝客导购网站建设?百度快照怎么弄
  • 工程建设网站策划方案全搜网
  • 设计培训班真的有必要吗武汉搜索引擎排名优化
  • 长春网站建设优化排名网络服务投诉平台
  • 自己建的网站能用吗数据分析师培训
  • 网站可以自己维护吗福州seo建站
  • 云服务器搭建网站做seo用哪种建站程序最好
  • 重庆网站建设业务招聘成人用品哪里进货好
  • 做调查问卷能挣钱的网站外链网盘源码
  • 肖云路那有做网站公司最好看免费观看高清大全
  • wordpress模板怎么写申泽seo
  • 12306网站为什么做不好优秀的网页设计案例
  • 17做网站官网网络优化工程师工作内容
  • app网站开发小程序年轻人不要做网络销售
  • dedecms行业门户网站模板他达拉非片多少钱一盒
  • 网站开发费属于什么费用百度灰色词排名代发
  • 做各国民宿租赁的网站武汉seo首页优化公司
  • 宁夏网站建设哪家好网络公司
  • 网站开发建设与维护国内新闻最新消息简短
  • 做网站直接开二级域名网络运营是什么专业
  • 卖汽车的网站怎么做平面设计
  • 杭州知名的企业网站建设线上推广100种方式
  • 网站如何做推广关键词如何确定
  • 临沂网站建设设计公司微信指数官网
  • 中国联通与腾讯设立合作长沙快速排名优化
  • 邳州网站深圳网络营销全网推广
  • wordpress sozo南阳本地网络推广优化公司
  • 建设项目环保验收网站聊城seo整站优化报价
  • 网站建站网站设计百度推广托管
  • wordpress 建两个网站邯郸seo优化