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

宁波建设系统网站湘潭房产网站建设

宁波建设系统网站,湘潭房产网站建设,南京网站排名公司,教育机构跑路给你一个整数数组 nums #xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k #xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意#xff1a;答案中不可以包含重复的三元组。 示例 …给你一个整数数组 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 。 提示 3 nums.length 3000 -105 nums[i] 105 一开始的想法三重循环但是超时了 class Solution {public ListListInteger threeSum(int[] nums) {Arrays.sort(nums);ListListInteger results new ArrayListListInteger();ListInteger result new ArrayListInteger();HashMapListInteger, ListInteger map new HashMap(); // int n 1;// 三重循环超时for (int i 0; i nums.length; i){for (int j i1; j nums.length; j){for (int k j1; k nums.length; k){if (nums[i] nums[j] nums[k] 0){result.add(nums[i]);result.add(nums[j]);result.add(nums[k]);// System.out.println(result);// 判断是否重复if (!map.containsValue(result)){map.put(result, result); // n;results.add(result);}// System.out.println(results);result new ArrayListInteger();// System.out.println(result);}}}}return results; } }最终代码 class Solution {public ListListInteger threeSum(int[] nums) {ListListInteger ans new ArrayList();if (nums null || nums.length 2) return ans;Arrays.sort(nums); //从小到大排序Onlognfor (int i0; i nums.length - 2; i){if (nums[i] 0) break; //第一个数大于0后面的数都比它大肯定不成立if (i 0 nums[i] nums [i-1]) continue; //去掉重复的情况int target -nums[i];int left i 1;int right nums.length - 1;while (left right){if (nums[left] nums[right] target){ans.add(new ArrayList(Arrays.asList(nums[i], nums[left], nums[right])));// 现在要增加 left减小 right但是不能重复比如: [-2, -1, -1, -1, 3, 3, 3], i 0, left 1, right 6, [-2, -1, 3] 的答案加入后需要排除重复的 -1 和 3//增加left和减少right left; right--;//去重while(left right nums[left] nums[left - 1]) left;while(left right nums[right] nums[right 1]) right--;}else if(nums[left] nums[right] target){//两个数相加小于target左指针向右移left;}else if(nums[left] nums[right] target){//两个数相加大于target右指针向左移right--;}}}return ans;} }
http://www.laogonggong.com/news/106480.html

相关文章:

  • 网站建设培训福州wordpress 代理
  • 怎样宣传网站分析网站优缺点
  • 南阳做网站哪家好站长工具seo综合查询官网
  • 网站可以做砍价软件吗国外做化工产品的网站
  • 产品展示网站模板源码网站开发项目进度表
  • 盛盾科技网站建设wordpress 开启维护
  • 海尔网站建设不足之处网站开发国际化
  • 检察院网站建设情况网站快速推广排名技巧
  • 做贸易 公司网站放哪里wordpress 页面内存大
  • 浙江省建设厅网站查询凤楼网站怎么做的
  • 自主设计和创建网站网站开发入门教程
  • 深圳网站建设及优化整站网站优化运营
  • 河南网站优化公司文化墙创意设计图片
  • wdcp 网站打不开wordpress怎么恢复
  • 杂多县网站建设公司珠海特价做网站
  • 聊城seo整站优化报价素材免费网站
  • 广州软件园 网站建设南通专业做网站
  • 小企业一键做网站网站建设主动型电话销售话术
  • 那个网站可以做链接vs2008 手机网站开发
  • 保定网络营销网站wordpress获取当前用户id
  • 成都网站建设推广详wordpress内容导航
  • seo怎么去优化网站购买网域名的网站好
  • 泰安网站建设焦点网络wordpress做什么网页
  • 网页下载网站成都网站设计网站制作公司
  • 手机asp网站开发工具wordpress option
  • 广州企业网站建设哪家服务好网站开发 技术投标
  • wordpress快速扒站亚马逊云服务 网站建设
  • 售后服务网站旅游网站建设维护
  • 网站弹出qq聊天窗口宝安设备网站设计
  • 北京网站建设认知网站如何做淘宝推广