【leetcode 刷題日記】05-最接近的三數之和

最接近的三數之和

題目鏈接最接近的三數之和

思路

題目和三數之和很相似,不同的是找三數之和最小的數,不一定是0,但是找到0了可以直接返回,還是可以使用雙指針,在數組排序過後,利用左右指針來計算三數之和,和設定的ans值做比較來決定左移還是右移。

  1. 利用sort對數組進行排序
  2. 在for循環中用i遍歷數組
  3. 左指針=i+1,右指針爲size(nums)-1;
  4. 定義sum=nums[i]+nums[L]+nums[R]
  5. 定義當前最小的三數之和值ans
  6. 當sum<ans時更新ans(這裏要考慮到絕對值)
  7. 如果ans=target,直接返回ans,因爲找到的最小值是唯一的
  8. 否則根據大小進行左右移動指針

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章