演算法題 有序陣列去重

2021-10-10 18:44:50 字數 719 閱讀 9851

將有序陣列去重並且列印去重之後的長度。

快慢指標思想,(邏輯上的指標,並非 * 這個指標)。定義兩個指標slow,fast。fast逐個遍歷元素,如果與slow不同,則把slow所指元素列印出來,如果與slow所指元素相同,則fast+1,直至遍歷結束。

#include

using

namespace std;

void

ramoveduplication

(int

* num,

int length)

;int

main()

;int length =0;

length =

(sizeof

(num))/

(sizeof

(int))

;ramoveduplication

(num, length)

;return0;

}//有序陣列去重

void

ramoveduplication

(int

* num,

int length)

fast++;}

cout <<

"新長度為"

陣列並集 有序陣列去重

include include include include include include using namespace std 求兩個陣列的交集 三種方法 1.兩個指標,判斷三個大小 2.兩個map存,另乙個map去找,value 1則說明重複 3.set標準庫自帶函式set union 並...

有序陣列 有序鍊錶高效去重

基本原理 第一步 初始化兩個指標,乙個慢指標slow 乙個快指標fast。第二步 判斷慢指標slow和快指標fast的值是否一致,如不一致,慢指標slow加1 並把快指標fast的值賦值給慢指標slow,然後快指標fast加1。第三步 繼續掃瞄後面的元素,如果慢指標slow和快指標fast的值一致,...

LeetCode演算法練習(一)有序陣列去重

大學畢業以來一直想提公升自己資料結構與演算法相關的知識 大學沒有學好 後來偶然的機會在網上看到leetcode,覺得很不錯,因此就打算通過leetcode來練習演算法相關的一些知識和能力,活躍自己思維,鍛鍊自己的程式設計能力。目前打算總結的有如下幾點 那麼開始我的第一次演算法練習總結。給定乙個排序陣...