这个时候不得不说数据结构的强大

和为S的两个数字

http://www.nowcoder.com/questionTerminal/390da4f7a00f44bea7c2f3d19491311b

 public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
       if (array.length==0)
            return new ArrayList<Integer>();
        TreeMap<Integer, ArrayList<Integer>> map = new TreeMap<>();
        HashSet<Integer> set = new HashSet<>();
        for(int i=0;i<array.length;i++){
            int target=sum-array[i];
            if (set.contains(target)){
                ArrayList<Integer> integers = new ArrayList<>();
                integers.add(target);
                integers.add(array[i]);
                map.put(target*array[i],integers);
            }else{
                set.add(array[i]);
            }
        }
        if (map.size()>0){
            return map.get(map.firstKey());
        }else{
            return new ArrayList<Integer>();
        }
    }
全部评论

相关推荐

02-26 13:56
已编辑
重庆财经学院 Java
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务