1099 小於 K 的兩數之和

2021-10-08 07:27:02 字數 712 閱讀 8485

題目描述:

給你乙個整數陣列 a 和乙個整數 k,請在該陣列中找出兩個元素,使它們的和小於 k 但盡可能地接近 k,返回這兩個元素的和。

如不存在這樣的兩個元素,請返回 -1。

示例 1:

輸入:a = [34,23,1,24,75,33,54,8], k = 60

輸出:58

解釋:34 和 24 相加得到 58,58 小於 60,滿足題意。

示例 2:

輸入:a = [10,20,30], k = 15

輸出:-1

解釋:我們無法找到和小於 15 的兩個元素。

1 <= a.length <= 100

1 <= a[i] <= 1000

1 <= k <= 2000

方法1:雙指標

主要思路:

(1)首先將輸入的陣列進行排序;

(2)對排序後的陣列使用雙指標分別指向頭尾,逐漸更新兩個數之和,並在這個過程中儲存和小於目標值的最大值;

class

solution

else

}return min_k==int_min?-1

:min_k;

//根據值是否更新,返回結果}}

;

小於 K 的兩數之和

給你乙個整數陣列a和乙個整數k,請在該陣列中找出兩個元素,使它們的和小於k但盡可能地接近k,返回這兩個元素的和。如不存在這樣的兩個元素,請返回 1。示例 1 輸入 a 34,23,1,24,75,33,54,8 k 60 輸出 58 解釋 34 和 24 相加得到 58,58 小於 60,滿足題意。...

小於K的兩數之和

給你乙個整數陣列a和乙個整數k,請在該陣列中找出兩個元素,使它們的和小於k但盡可能地接近k,返回這兩個元素的和。如不存在這樣的兩個元素,請返回 1。示例1 輸入 a 34,23,1,24,75,33,54,8 k 60 輸出 58 解釋 34 和 24 相加得到 58,58 小於 60,滿足題意。示...

兩數之和,三數之和

兩數之和 方法一 暴力 throw new illegalargumentexception 時間複雜度 o n 2 空間複雜度 o 1 public int twosum int nums,int target throw newillegalargumentexception no twosum...