刪除相鄰的重複元素

2021-09-25 14:23:14 字數 474 閱讀 1713

給定乙個數字陣列,刪除相鄰的重複數字,結果陣列中不能有任何相鄰的重複陣列。

例:輸入:1, 5, 6,8, 8, 8, 0, 1, 1, 0, 6, 5

輸出:1

輸入:1, 9, 6,8, 8, 8, 0, 1, 1, 0, 6, 5

輸出:1, 9, 5

思想:該問題的解決方法用到乙個「就地棧」的概念。便是使用這個陣列當做棧。

當棧中的元素與當前數字不相等是,將當前數字入棧。如果當前數字與棧頂元素相等,跳過該數

字,知道找到與棧頂元素不相等的數字,並且刪除棧頂元素。

時間複雜度:o(n),空間複雜度o(n), 用於棧空間的開銷。

演算法:

public static int removeadjacentduplicates(int a) else 

s--;

} }

return s;

}

重複元素的刪除

time limit 1000ms memory limit 65536k 按照資料輸入的相反順序 逆位序 建立乙個單鏈表,並將單鏈表中重複的元素刪除 值相同的元素只保留最後輸入的乙個 第一行輸入元素個數n 第二行輸入n個整數。第一行輸出初始鍊錶元素個數 第二行輸出按照逆位序所建立的初始鍊錶 第三行...

鍊錶刪除重複元素1,刪除重複元素2,

刪除排序鍊錶中的重複元素 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 思路 很簡單。先將兩個指標進行操作,start,end然後判斷end是否等於空即可 definition for s...

STL vector刪除重複元素

stl提供了很多實用的演算法,這裡主要講解sort和unique演算法。刪除重複元素,首先將vector排序。sort vecsrc.begin vecsrc.end 然後使用unique演算法。vecsrc.erase unique vecsrc.begin vecsrc.end vecsrc.e...