忘了是哪個的面試題,說刪除陣列中重複元素,給了一組數, [90, 91, 1, 2, 90, 5, 91], 輸出 [90, 91, 1, 2, 5],類似這種情況,我給出了兩種解決方案。
其實最簡單的應該是申請乙個等大的陣列,去迴圈遍歷,我沒有採用。我採用以下兩種方法。
按照每個數的個位劃分,個位一共有0~9十種情況,我將個位相同的放在同乙個鏈位址中,只需申請乙個每個成員為結構體,共有10個成員的陣列。這在資料較大時查詢前面相同元素能提高很大效率的。
**如下:
#include #include using namespace std;
const int n = 10;
typedef struct similar_factor
similar_factor() {}
} similar_factor;
int fill_in(similar_factor* factor, const int value, int index)
else
tmp->next = new_factor;
} return 0;
}int main()
; similar_factor* factor = new similar_factor[10];
assert(factor != null);
for(int i=0; i我們知道c++的set底層是一顆紅黑樹,之前有寫過紅黑樹的**,知道它的機制是插入元素如果碰見相同的元素,直接插入失敗,返回false,所以我們可以利用這個機制來做這道題。
**如下:
#include #include #include using namespace std;
int main()
; setsint;
size_t len = sizeof(array) / sizeof(int);
for(int i=0; i以上**均經過測試,結果如下:
刪除陣列重複元素
問題描述 已有一維陣列,儲存不超過100個整型資料,其中有些元素的值存在重複,從陣列中刪除所有重複的元素 每個元素只保留乙個 並輸出結果陣列。輸入說明 使用者可輸入多組資料,每組資料由兩行組成 第一行 陣列元素的個數n 第二行 n個陣列元素,由空格分隔 輸出說明 對於每組輸入,輸出最後的結果,整數之...
Perl 刪除陣列中重複元素
寫乙個小程式時候,需要去除乙個陣列中的重複元素,搜尋了一下,找到的 主要是兩種,一種是使用grep函式,一種是轉換為hash表,分別如下 使用grep函式 片段 my array a b c a d 1,2,5,1,5 my count my uniq times grep 2 array 使用轉換...
php刪除陣列中重複元素的方法
幾種php刪除陣列元素方法在很多情況下我們的陣列會出現重複情況,那我們刪除陣列中一些重複的內容怎麼辦,這些元素必須保持他唯一,所以就想辦法來刪除它們,下面利用了遍歷查詢llgfydop來刪除重複陣列元素的幾種方法。方法一 完整刪除重複陣列例項 刪除陣列中的乙個元素 function array re...