数组中两个元素的和与乘积

题目描述

输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。

输出描述

对应每个测试案例,输出两个数,小的先输出。

import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
     //数组为空数组时输出空list。
        ArrayList<Integer> list = new ArrayList<Integer>();
        if (array.length == 0) {
            return list;
        }
        int min = array[array.length-1]*array[array.length-1];
        
        for (int i=0;i<array.length;i++) {
            for (int j=i;j<array.length;j++) {
                if (array[i]+array[j] == sum) {
                    if (array[i]*array[j]<min) {
                        min = array[i]*array[j];
                        list.add(array[i]);
                        list.add(array[j]);
                    }
                    break;
                }
            }
        }


        return list;
    }
}

 

posted @ 2020-07-01 14:10  ofmou  阅读(663)  评论(0)    收藏  举报