1混狠、數(shù)組中不重復的數(shù)只有一個岸霹,并找出
思路 :初始化一個值 int a = 0; 遍歷數(shù)組每個 item^a ;最后a的值就是不重復的值
時間 O(n) ,空間S(1)
2将饺、數(shù)組中不重復的數(shù)大于一個贡避,
思路 :遍歷數(shù)組,使用map記錄數(shù)字出現(xiàn)的次數(shù)予弧;再遍歷map,找出次數(shù)為1的數(shù)
時間 O(n) 刮吧,空間S(n)
3、找出第一個不重復的數(shù)
思路:1桌肴、兩層for循環(huán) O(n*n)
```
for (int i = 0皇筛; i < count; i++) {
for (int j =0坠七;j <count 水醋;j++){
if (i!=j && a[j]==a[i]) {
return j;
}
}
if j = a.count -1 return 沒找到;
}
2彪置、第一次遍歷數(shù)組拄踪,使用map記錄記錄每個元素的個數(shù) map[value] ++;
第二次遍歷,找到 第一個map[value] == 1的元素
```
for (value in a) {
map[value] ++;
}
for (value in a) {
if (map[value] == 1) {
return value;
}
}
O(n) S(n)
4、數(shù)組中找到第一個重復的數(shù)字
思路:遍歷數(shù)組拳魁,存入字典 map[value] ++惶桐;如果map[value] 包含這個數(shù)據(jù)說明已經存在