1. 程式人生 > >42.和為S的兩個數字

42.和為S的兩個數字

-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的兩個數字