愛在花開的季節 发表于 2024-6-11 15:33:15

力扣1358.包含所有三种字符的子字符串数目

力扣1358.包含所有三种字符的子字符串数目



[*] 遍历左端点 找到最小的子字符串

[*]res += n - j(右边全部)

[*] class Solution {
public:
      int numberOfSubstrings(string s) {
          unordered_map<char,int> cnt;
          int n = s.size(),res=0,count=3;
          for(int i=0,j=0;j<n;j++)
          {
            if(!cnt.count(s)) count--;
            cnt] ++;
            while(!count)
            {
                  res += n - j;
                  if(--cnt] == 0)
                  {
                      count++;
                      cnt.erase(s);
                  }
                  i++;
            }
          }
          return res;
      }
};


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 力扣1358.包含所有三种字符的子字符串数目