3843. 頻率唯一的第一個元素

中等 哈希表

思路

題目找的是出現次數的出現次數。
先用哈希表freq記錄各自數字出現的次數。
再用另一個哈希表,計算同樣出現次數的數字,各有多少個。
最後遍歷數組,從freq找到數字的出現次數cnt
再拿cnt去第二張哈希表找,看是不是只有一個數字有這個出現次數。

程式碼

哈希表

class Solution {
public:
    int firstUniqueFreq(vector<int>& nums) {
        int n = nums.size();
        unordered_map<int, int> freq, umap;
        for(int x : nums) freq[x]++; // 紀錄出現次數
        for(auto [k, v] : freq) umap[v]++; // 紀錄出現次數的出現次數
        for(int x : nums) {
            if(umap[freq[x]] == 1) { // 如果為 1, 表示獨特。
                return x;
            }
        }
        return -1;
  ㄋ  }
};

複雜度分析

  • 時間複雜度:O(n)O(n)
  • 空間複雜度:O(n)O(n)

顯示設定

背景線條
顯示背景網格線條
懸停發光
滑鼠懸停時顯示霓虹效果
聚光燈
跟隨滑鼠的聚光燈效果
背景透明度
開啟透明玻璃效果
主題顏色
自訂主要顏色