leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

2799.cpp (581B)


0 class Solution { 1 public: 2 int countCompleteSubarrays(const vector<int> &nums) { 3 static int count[10001]; 4 memset(count, 0x00, sizeof(count)); 5 6 int uniq = 0, res = 0, cnt = 0; 7 ; 8 for (const int n : nums) 9 if (!count[n]) count[n] = 1, uniq++; 10 for (int i = 0, left = 0; i < nums.size(); i++) { 11 if (count[nums[i]]++ == 1) cnt++; 12 while (cnt == uniq) { 13 res += nums.size() - i; 14 if (--count[nums[left++]] == 1) cnt--; 15 } 16 } 17 return res; 18 } 19 };