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

和为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>();
        }
    }
全部评论

相关推荐

不懂!!!:感觉你的项目描述太简单了,建议使用star描述法优化提炼一下,就是使用什么技术或方案解决了什么问题,有什么效果或成果,例如:对axios进行了二次封装,实现了请求的统一管理、错误的集中处理以及接口调用的简化,显著提高了开发效率和代码维护性,使用canvas技术实现了路线绘制功能,通过定义路径绘制函数和动态更新机制,满足了简化的导航可视化需求,提升了用户体验。像什么是使用其他组件库,基本功能描述就最好不要写到项目成果里面去了,加油
点赞 评论 收藏
分享
03-15 12:48
门头沟学院 Java
牛牛要早起:这个一般就跟你说有高薪,然后叫你买车,之后血亏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务