Leetcode704,27--數(shù)組Part01[【代碼隨想錄】
一、數(shù)組理論基礎(chǔ):
?【定義】:數(shù)組是存放在連續(xù)空間上的相同類型數(shù)據(jù)集合
? 【關(guān)鍵詞】:連續(xù)空間+相同類型+數(shù)據(jù)集
? 【使用方法】:可以通過(guò)下標(biāo)訪問(wèn)空間內(nèi)的數(shù)值
?

? ?【刪除元素】:
? 如果刪除其中一個(gè)元素的話,后面的元素要向前移動(dòng)。就是下標(biāo)要更新

【p.s】數(shù)組這個(gè)刪除其實(shí)不是我們傳統(tǒng)意義上的刪除,讓這個(gè)元素消失。而是有點(diǎn)像修正帶。讓這個(gè)元素被覆蓋。


技術(shù)總結(jié):
? 1.使用(right-left)/2+left 是為了數(shù)據(jù)不超,因?yàn)閞ight,left可能數(shù)據(jù)很大。所以不推薦用(left+right)/2
? 2.二分查找的mid如果是向下取整,如果target在左側(cè),mid是要減一(舍棄原來(lái)的mid)更新left。


? ? ?二、雙指針
雙指針一個(gè)指向下標(biāo)為0,另一個(gè)指向數(shù)組外。然后找不到就left++來(lái)位移,left就代表它位移的距離。找到的話就用right替換。

可能是雙指針不大熟練8,一個(gè)指針用于找val,另一個(gè)指針用于替換。感覺(jué)一開(kāi)始想到的是遍歷數(shù)組的brute force method。雖然這個(gè)也是,但是和我的想法還是有點(diǎn)出入。從左側(cè)和右側(cè)找到我們想要的元素,然后進(jìn)行刪除(替換)
標(biāo)簽: