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

怎么建设vip电影网站有限责任公司和有限公司有啥区别

怎么建设vip电影网站,有限责任公司和有限公司有啥区别,潍坊专业企业营销策划有哪些,花都商城网站建设三数之和 给你一个整数数组 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 且不重复的三元组。注意:答案中不可以包含重复的三元组。

输入:整型数组
输出:二元列表
思路:先对数组进行排序,然后循环排序后的数组,再定义双指针,进行移动,关键是对于去重的操作,

class Solution {public List<List<Integer>> threeSum(int[] nums) {//定义返回值的二元列表List<List<Integer>> result = new ArrayList<>();//先对数组nums进行排序Arrays.sort(nums);//当第一个数值大于0,则直接返回if(nums[0] > 0){return result;}//然后进行for循环遍历每一个数组元素for(int i = 0;i < nums.length;i++){//定义双指针int l = i + 1;int r = nums.length - 1;if (i > 0 && nums[i] == nums[i - 1]) {  // 去重acontinue;}//应该在循环中不断变换双指针while(l < r){//判断值与零的大小关系if(nums[i] + nums[l] + nums[r] > 0){//说明右边大了r--;}else if(nums[i] + nums[l] + nums[r] < 0){//说明左边小了l++;}else{//说明等于0result.add(new ArrayList<>(Arrays.asList(nums[i],nums[l],nums[r])));while (r > l && nums[r] == nums[r - 1]) r--;while (r > l && nums[l] == nums[l + 1]) l++;r--; l++;}}}return result;}
}

去重逻辑的思考
其实就是左中右三个数的去重,i,l,r索引所对应的值

  • 对于i的去重应该使用nums[i] == nums[i-1]判断,如果写成
if (nums[i] == nums[i + 1]) { // 去重操作continue;
}

那我们就把 三元组中出现重复元素的情况直接pass掉了。 例如{-1, -1 ,2} 这组数据,当遍历到第一个-1 的时候,判断 下一个也是-1,那这组数据就pass了。
那么应该这么写:

if (i > 0 && nums[i] == nums[i - 1]) {continue;
}

这么写就是当前使用 nums[i],我们判断前一位是不是一样的元素,在看 {-1, -1 ,2} 这组数据,当遍历到 第一个 -1 的时候,只要前一位没有-1,那么 {-1, -1 ,2} 这组数据一样可以收录到 结果集里。

  • 只有在三数之和等于零是才有可能出现重复的情况,所以以下逻辑不合理,并无卵用
while (right > left) {if (nums[i] + nums[left] + nums[right] > 0) {right--;// 去重 rightwhile (left < right && nums[right] == nums[right + 1]) right--;} else if (nums[i] + nums[left] + nums[right] < 0) {left++;// 去重 leftwhile (left < right && nums[left] == nums[left - 1]) left++;} else {}
}
http://www.dtcms.com/wzjs/785301.html

相关文章:

  • moodle网站建设门户网站建设技术要求
  • ie的常用网站建设机械网站
  • 泉州自主建站模板厂房装修多少钱一个平方米
  • 红色ppt模板免费下载网站上海徐家汇网站建设
  • 呼和浩特市网站电商网站建设课设
  • 电商网站建设在哪里找设计师足球比赛直播中国队
  • 如何对网站做渗透淘宝上新推荐
  • 网站添加ico营销培训计划
  • 做网站和做app有什么不同成都市建设局网站
  • 关键词排名点击软件网站微信小程序安装
  • 自己开通一个网站需要多少钱淘宝卖家 打电话 做网站
  • 汕头做网站优化的公司wordpress theme开发
  • 寿光市住房和建设局网站机构类网站有哪些
  • 校园官方网站建设创建站怎么上传网站怎么办
  • 金融门户网站建设品牌网站升级
  • 网站建设技术哪个好网站建设方案平台选择
  • 网站建设珠江摩尔教做甜品网站
  • 深圳龙华网站建设公司电子商务推广方式有哪些
  • 网站详细报价百度推广费用可以退吗
  • 网站备案需要什么材料厦门成品网站
  • 湖北网站建设报价泰安房产中介公司
  • 亳州市建设工程质量监督站网站青海公司网站建设哪家快
  • 建设一个视频网站己18深圳投资推广署
  • 订阅号怎么做微网站建站公司获客成本
  • 什么网站可以做锦鲤活动虚拟主机建设二个网站
  • 旅游网站怎样做宣传企业做网站公司哪家好
  • 漳浦建设局网站网站友情链接美化代码
  • 南京网站销售猎头网站 做猎头的流程
  • 化工建网站多少费用大朗镇做网站
  • 网站轮播代码最新网站技术