| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:代码没有输出结果,求解答
取消只看楼主 加入收藏
so_closely
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
代码没有输出结果,求解答
这个是leetcode第15题3sum。找出三个数和为0已经解决了。
但问题是,我想在main函数中写用于测试threeSum函数的代码
即能实现通过键盘手动输入一串数用于验证,来代替在main函数中定义数组。
另外不知道如何输出threeSum中返回的List<List<Integer>> 类型的ret结果。

能解释下List<List<Integer>> 这个泛型吗,我自己最多只看到List<Integer>。谢谢


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class leetCode15 {
    List<List<Integer>> ret = new ArrayList<List<Integer>>();
   
    public void main(String[] args) {
        // TODO Auto-generated method stub
        
        int[] test1=new int[]{-1,0,1,2,-1,-4};
        
        ret=threeSum(test1);
        ret.forEach(ele -> System.out.println(ele));
        
    }
    //List<Integer>:list只能接收Integer的对象.
    public  List<List<Integer>> threeSum(int[] nums) {
        if(nums==null ||nums.length<3)
            return ret;
        
        Arrays.sort(nums);
        int len=nums.length;
        for(int i=0;i<len-2;i++){
            if(i>0 &&nums[i]==nums[i-1])
                continue;
            find(nums,nums[i],i+1,len-1);//寻找两个数和这个数加起来和为0
        }
        return ret;
    }
    public  void find(int[] nums,int target,int start,int end){
        int l=start;
        int r=end;
        while(l<r){
            if(nums[l]+nums[r]+target==0){
                List<Integer> ans = new ArrayList<Integer>();
                ans.add(target);
                ans.add(nums[l]);
                ans.add(nums[r]);
                ret.add(ans);
                while(l<r &&nums[l]==nums[l+1]) l++;//去重
                while(l<r  &&  nums[r]==nums[r-1]) r--;//去重
                l++;
                r--;
            }
            else if (nums[l]+nums[r]+target<0){            
                l++;
            }
            else
                r--;

        }
    }

}
搜索更多相关主题的帖子: public import 键盘 如何 public import 键盘 如何 
2015-09-27 15:13
快速回复:代码没有输出结果,求解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012000 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved