2024.9.4 leetcode 169 多數元素 (雜湊表)

树宝2021發表於2024-09-05

題面 169. 多數元素 - 力扣(LeetCode)

題解:複習(自學)了一下雜湊表,

unordered_map<int,int> umap    定義一個表
umap.find(nums[i])!=umap.end() 判斷是否存在

umap.insert({nums[i], 1}) 插入
umap.erase(nums[i]) 清除
C++ 容器類 <unordered_map> | 菜鳥教程 (runoob.com)
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        unordered_map<int,int> umap;
        if( nums.size() == 1)
        {
            return nums[0];
        }
        for(int i = 0; i < nums.size(); i++ )
        {
            if(umap.find(nums[i])!=umap.end())
            {
                umap[nums[i]]++;
                if(umap[nums[i]]>nums.size()/2)
                return nums[i];
            }
            else
            {
                umap.insert({nums[i], 1});
            }
            
        }
        return 1;
    }
};

相關文章