有序+两个数差值越大乘积越小

和为S的两个数字

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

public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
        ArrayList<ArrayList<Integer>> list = new ArrayList<>();
        ArrayList<Integer> item = new ArrayList<Integer>();
        for(int i=0;i<array.length;i++){
            int temp = sum-array[i];
            for(int j=i+1;j<array.length;j++){
                if(temp==array[j]){
                    item.add(array[i]);//按照题目要求小的在前
                    item.add(array[j]);
                    list.add(new ArrayList<Integer>(item));
                    item.clear();
                }

            }
        }

        if(list.size()==0) return item;//此处不能返回null,而是返回空的item
        //两个数的差值越大那么两个数的成绩就越小,返回第一组就是乘积最小的
        return list.get(0);

    }
全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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