42.和為S的兩個數字
阿新 • • 發佈:2019-01-09
-i 輸出 imp new || port fin div sta
題目描述
輸入一個遞增排序的數組和一個數字S,在數組中查找兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。輸出描述:
對應每個測試案例,輸出兩個數,小的先輸出。
題目解答
import java.util.ArrayList; public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ArrayList<Integer> res=new ArrayList<>();if(array==null || array.length<2){ return res; } int start=0,end=array.length-1; while(start<end){ int cursum=array[start]+array[end]; if(cursum==sum){ res.add(array[start]); res.add(array[end]);return res; }else if(cursum<sum){ start++; }else{ end--; } } return res; } }
滑動窗口
42.和為S的兩個數字