java 三个数之和
2021/8/1 17:36:13
本文主要是介绍java 三个数之和,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res = new ArrayList<>(); // List<List<Integer>> res = new ArrayList<ArrayList<Integer>>(); 出错的原因? int n= nums.length; Arrays.sort(nums); int k = n-1; for(int i=0;i<n;i++){ if(i>0&&nums[i-1]==nums[i]){ continue; } for(int j=i+1;j<n;j++){ if(j>i+1 && nums[j]==nums[j-1]){ continue; } if(j<k && nums[i]+nums[j]+nums[k]>0){ k--; } if(j==k){ break; } // List<Integer> ans = new ArrayList<>(); if(nums[i]+nums[j]+nums[k]==0){ List<Integer> ans = new ArrayList<>(); //定义在if条件语句内是局域变量,因此在if语句 ans.add(nums[i]); //外res.add(ans)会显示出错。 ans.add(nums[j]); //如果放在外面则无论里面是否成立,都会把[] ans.add(nums[k]); //放进res 里面。 res.add(ans); } // res.add(ans); } } return res; } }
这篇关于java 三个数之和的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略