LeetCode刻意練習05 最接近的三數之和

2021-10-03 13:27:23 字數 605 閱讀 5674

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

思路:1.將給定的陣列進行排序

2.遍歷陣列,並且將第乙個元素置為nums[i]

3.定義兩個指標,左指標為 i+1,右指標為陣列最後乙個元素的下標。

4.看他們的和,如果他們的和比我們想要的和小,那麼左指標右移,如果比我們想要的大,那麼右指標左移。如果有更接近的三數之和,那麼我們更新sum

優化:去除重複元素

public

intthreesumclosest

(int

nums,

int target)

else}if

(i>

0&&nums[i]

==nums[i-1]

)//去重

continue;}

return closest_num;

}

LeetCode 刻意練習03 移除元素

題目 引數列表給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回值 移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。思路 遍歷陣列,如果遇到不為val的值則將其賦值給陣列第i元素,並且i 否則繼續遍歷...

LeetCode刻意練習28 跳躍遊戲

題目 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。方法一 回溯法 有一組資料超時。遍歷每個元素,對於每個元素i,先跳最大的步數nums i 到達下乙個元素next。如果能夠跳出這個陣列 nums i i nums...

《刻意練習》5

不管是 還是體育等等領域,該領域中最傑出的人在青少年時期總是經過了漫長的練習才取得了如今的成績。並且投入的時間與取得的成績成正比。1 首先,它需要乙個已經得到合理發展的行業或領域,也就是說,在那一行業或領域之中,最傑出的從業者已達到一定程度的表現水平,使他們與其他剛剛進入該行業或領域的人們明顯地區分...