最接近的三數之和 來自leetcode的領悟

2021-10-24 22:15:38 字數 836 閱讀 7652

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。

分析:1.跟三數之和的解法差不多,唯一不同點就是在找最優解的過程中,i和j移動過程中重複的解決辦法,在三數之和中,逼近最優解的過程中,i和j,是不用排除重複的,因為它在符合條件的體內就已進做了這份工作,而在此案例中,為了減少無謂的更新,所以就在尋找最優解的過程中排除重複;

2.注意,在i和j排除重複的過程中,注意不要i++再賦值給臨時變數,例如

2345,當i指向2時,i++再賦值給臨時變數i0,臨時變數就指向3,臨時變數再採用

while

(i0 < j && nums[i0]

== nums[i]

) i0++

; i = i0;

最終i就指向了4跳過了三,結果就出錯。

**奉上:

class

solution

if(math.

abs(target-sum)

< math.

abs(target-best)

) best = sum;

if(sum < target)

else}}

return best;

}}

最接近的三數之和

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2...

最接近的三數之和

給定乙個包括 n 個整數的陣列nums和 乙個目標值target。找出nums中的三個整數,使得它們的和與target最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2 1 2 pu...

最接近的三數之和

題目 有點類似三數之和的進化版 給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target ...