Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LeetCode] 1207. Unique Number of Occurrences #1207

Open
grandyang opened this issue May 30, 2019 · 0 comments
Open

[LeetCode] 1207. Unique Number of Occurrences #1207

grandyang opened this issue May 30, 2019 · 0 comments

Comments

@grandyang
Copy link
Owner

grandyang commented May 30, 2019

Given an array of integers arr, write a function that returns true if and only if the number of occurrences of each value in the array is unique.

Example 1:

Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No two values have the same number of occurrences.

Example 2:

Input: arr = [1,2]
Output: false

Example 3:

Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true

Constraints:

  • 1 <= arr.length <= 1000
  • -1000 <= arr[i] <= 1000

这道题给了一个整型数组,问每个数字出现的次数都否都不同。对于一道 Easy 的题目来说,没有太大的难度,就是用个 HashMap 来统计每个数字出现的次数,然后再用个 HashSet 来判断某个次数是否之前出现过了,若出现过了,则返回 false,否则最终返回 true 即可,参见代码如下:

class Solution {
public:
    bool uniqueOccurrences(vector<int>& arr) {
        unordered_map<int, int> numCnt;
        unordered_set<int> st;
        for (int num : arr) ++numCnt[num];
        for (auto a : numCnt) {
            if (st.count(a.second)) return false;
            st.insert(a.second);
        }
        return true;
    }
};

Github 同步地址:

#1207

参考资料:

https://leetcode.com/problems/unique-number-of-occurrences/

https://leetcode.com/problems/unique-number-of-occurrences/discuss/392858/JavaPython-3-4-liner-and-2-liner-Using-Map-and-Set-w-brief-explanation-and-analysis.

LeetCode All in One 题目讲解汇总(持续更新中...)

@grandyang grandyang changed the title [LeetCode] 1207. Missing Problem [LeetCode] 1207. Unique Number of Occurrences Oct 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant