力扣2799.统计完全子数组的数目

力扣2799.统计完全子数组的数目

  • 方法仍然是找最小的包含所有数字的子数组

    • 当找到最小子数组时 j左边的元素也可以随意加上 即res += j;
  •   class Solution {
      public:
          int countCompleteSubarrays(vector<int>& nums) {
              int n=nums.size(),res=0;
              int m = unordered_set<int>(nums.begin(),nums.end()).size();
              unordered_map<int,int> cnt;
              for(int i=0,j=0;i<n;i++)
              {
                  cnt[nums[i]] ++;
                  while(cnt.size() == m)
                  {
                      int x = nums[j++];
                      if(-- cnt[x] == 0) cnt.erase(x);
                  }
                  res += j;
              }
              return res;
          }
      };
    

相关推荐

  1. 2799.统计完全数目

    2024-06-09 14:06:01       11 阅读
  2. 279完全平方

    2024-06-09 14:06:01       11 阅读
  3. 279. 完全平方

    2024-06-09 14:06:01       7 阅读
  4. 2653.滑动美丽值

    2024-06-09 14:06:01       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 14:06:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 14:06:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 14:06:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 14:06:01       18 阅读

热门阅读

  1. lua中大数相乘的问题

    2024-06-09 14:06:01       10 阅读
  2. LeetCode 第401场周赛个人题解

    2024-06-09 14:06:01       11 阅读
  3. 二叉树的统一迭代法-前序中序后序-力扣

    2024-06-09 14:06:01       12 阅读
  4. Qt图表类介绍

    2024-06-09 14:06:01       9 阅读
  5. B3810 [语言月赛 202307] 扶苏和串

    2024-06-09 14:06:01       10 阅读