169多數元素
//unordered_map因爲內部實現了哈希表,因此其查找速度非常的快,但是哈希表的建立比較耗費時間。
//.有序性,這是map結構最大的優點,內部實現一個紅黑書使得map的很多操作在lgn的時間複雜度下就可以實現
//空間佔用率高,因爲map內部實現了紅黑樹,雖然提高了運行效率,但是因爲每一個節點都需要額外保存父節點、孩子節點和紅/黑性質,使得每一個節點都佔用大量的空間。適用處:對於那些有順序要求的問題,用map會更高效一些。
[3,2,3]
class Solution {
public:
int majorityElement(vector<int>& nums) {
unordered_map<int,int> counts;////key value結構,keykey 是數字,value是出現次數
int majority = 0,cnt=0;
for(int num:nums){ //c++11的新特性,for 使用
// std:cout<<counts[num];//int類型 初始化默認0,下面執行兩步,添加鍵值對{{3,0}},value+1
//{{3,1}},下次循環再出現再累加出現次數
++counts[num]; ////添加鍵值對,{{1,0+1}} 1出現1次,並累加元素出現次數
////每次循,判斷上述元素出現次數中,更新最大的次數和對應元素
if (counts[num]>cnt){ //cnt統計每個元素出現次數
cnt = counts[num]; //更新元素出現的頻率
majority = num; //majority跟蹤最大的鍵值,
}
}
return majority;
}
};
c++ map與unordered_map區別及使用
https://blog.csdn.net/BillCYJ/article/details/78985895