Degree of an Array LeetCode solution in C++
1class Solution {2public:3int findShortestSubArray(vector<int> &nums) {4unordered_map<int, int> cnt, first;5int deg = 0, ans = 0;6for (int i = 0; i < nums.size(); i++) {7if (cnt[nums[i]] == 0) first[nums[i]] = i;8cnt[nums[i]]++;9if (cnt[nums[i]] > deg) {10ans = i - first[nums[i]] + 1;11deg = cnt[nums[i]];12} else if (cnt[nums[i]] == deg) {13ans = min(ans, i - first[nums[i]] + 1);14}15}16return ans;17}18};19// if you like the solution plz upvote.