您的位置:首页 > 其它

LeetCode 15---3Sum

2016-12-23 12:57 441 查看
题目链接如下:

LeetCode 15—3Sum

其实现代码如下:

public class Problem15 {

public static void main(String[] args) {
// TODO Auto-generated method stub
int[] nums={0,0,0};
threeSum(nums);

}
public static List<List<Integer>> threeSum(int[] nums) {
List<List<Integer>> list =new ArrayList<List<Integer>>();
Arrays.sort(nums);
for(int i=0;i<=nums.length-3;i++){
if(nums[i]>0) break;
if(i>0 && nums[i]==nums[i-1]) continue;
int j=i+1;
int k=nums.length-1;
while(j<k){
if((j-1)>i && nums[j]==nums[j-1] ){
j++;
continue;
}
if(k+1<=nums.length-1 && nums[k]==nums[k+1]){
k--;
continue;
}
if(nums[i]+nums[j]+nums[k]>0){
k--;
}
else if(nums[i]+nums[j]+nums[k]==0){
ArrayList<Integer> arr =new ArrayList<Integer>();
arr.add(nums[i]);
arr.add(nums[j]);
arr.add(nums[k]);
list.add(arr);
j++;
k--;
}
else{
j++;
}
}
}
return list;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 算法