柚子快報激活碼778899分享:c++ 優(yōu)先算法1--雙指針
Falabella法拉貝拉購綜合2025-06-10540
柚子快報激活碼778899分享:c++ 優(yōu)先算法1--雙指針
“一念既出,萬山無阻?!奔佑湍吧耍?/p>
目錄
1.雙指針--移動零
2.雙指針-復寫零
?
ok,首先在學習之前,為了方便大家后面的學習,我們這里需要補充一個知識點,我這里所謂的指針,不是之前學習的帶有*的那個指針,我們這里的數(shù)組的下標,類似充當指針作用,在這里我們也叫做指針!
了解之后,現(xiàn)在我們開始進入學習?。?!
1.雙指針--移動零
首先我們帶入題來進行教學:
解題思路:
代碼如下:
?
?
2.雙指針-復寫零
?
?解題思路:
1.用兩個指針,一個指向截止元素,一個指向數(shù)組最后一個位置。然后,從后往前進行,是的沒錯從后往前,那么原因是,如果從前往后去遍歷,則會覆蓋數(shù)字,造成錯誤。
例子(從前往后,錯誤示范)
這個不就把“2”覆蓋了嗎,對吧?。?!所以從前往后是錯誤的!?
正確寫法:(從后往前)
問題1(尋找截止數(shù)):問題又來了?我們從后往前,怎么知道從最后哪里開始呢?答案:先遍歷一遍,找到截止“數(shù)”
?
結束之后,我們就找到了截止數(shù)是“4”?.
問題二(考慮邊界問題): 一個小陷阱,如果在尋找截止數(shù)的時候,在邊界情況,prev>n-1,越界了,這個時候我們如何處理。
代碼如下:
步驟三(從后往前遍歷):?
?
?完整代碼:
柚子快報激活碼778899分享:c++ 優(yōu)先算法1--雙指針
精彩鏈接
評論可見,查看隱藏內容
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。