LeetCode 15 最接近的三數之和

2021-09-13 01:25:23 字數 747 閱讀 8462

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

例如,給定陣列 nums = [-1,2,1,-4], 和 target = 1.

與 target 最接近的三個數的和為 2. (-1 + 2 + 1 = 2).

仍然是排序再尋找的策略,因為陣列已經是有序序列,所以可以根據當前組合的和與target的大小關係,每次遍歷先確定乙個基數,然後分別從後乙個元素和最後乙個元素開始比較,如果組合的和大於target,那麼想要縮小之間的差距就要從最後乙個元素往前移,如果組合的和小於target,那麼想要縮小之間的差距就要從後乙個元素往後移。

class solution 

/*1.對陣列進行排序*/

sort(nums.begin(), nums.end());

/*2.遍歷元素,直到倒數第三個元素*/

for(int k = 0; k < nums.size() - 2; k ++)

}else

/*4.最重要的邏輯,如何更逼近target,當record大於target,j向左移動,反之i向右移動*/

if(plusum > target)

else}}

return record;

}};

Leetcode 最接近的三數之和

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

LeetCode 最接近的三數之和

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

LeetCode 最接近的三數之和

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