劍指offer 和為S的兩個數字

2022-09-12 09:18:11 字數 546 閱讀 3024

題目描述

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。

解題思路

關鍵在於這個陣列是遞增的!

用兩個數字start和end分別表示陣列的開始位置與結束位置。

如果兩數相加之和大於s,則end–;

如果兩數相加之和小於s,則start++;

第一次找到的兩數就是要找的,能夠保證其乘積最小。

比較簡單,**:

import j**a.util.arraylist;

public class solution

int start=0;

intend = array.length-1;

while(startif(array[start]+array[end]if(array[start]+array[end]==sum)

}return list;

}}

劍指offer 和為S的兩個數字

esmp esmp 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 esmp esmp 對應每個測試案例,輸出兩個數,小的先輸出。esmp esmp 首先,先考慮在遞增排序的陣列中找到兩個和為s的數字。這個思路...

劍指offer 和為S的兩個數字

題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。ps 拋物線開口向下,找到的第一組 相差最大的 就是乘積最小的,不需要比較 class solution in...

劍指offer 和為s的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。雙指標,乙個從左向右遍歷,乙個從右向左遍歷。coding utf 8 class solution deffindnum...