兜兜零元 发表于 2025-3-19 22:55:35

(暴力枚举 水题 长度为3的不同回文子序列)leetcode 1930

https://i-blog.csdnimg.cn/direct/ef19c5022b974f7d9801b5ea9b978f52.png
关键就是去重,暴力没啥好说明的
class Solution {
public:

    int countPalindromicSubsequence(string s) {
      int ans = 0;
      int n = s.size();
      for (char i = 'a';i <= 'z';i++)//穷尽所有字母
      {
            int l= 0;
            int r = n - 1;
            while (l < n && s != i)//找到左边第一个等于s的下标
            {
                l++;
            }
            while (r > 0 && s != i)//找到右边边第一个等于s的下标
            {
                r--;
            }
            if (l >= r)//没找到跳过
            {
                continue;
            }
            //计算回文范围内不重复的字母数量 因为 在"bbcbaba"中,当i枚举到b则l=0,r=5,bbb与bbb算同一个子序列所以,在l和r去重后统计其中的字母数量
            //这里直接把l和r期间的值放入unordered_set在返回长度即可
            unordered_set<int>setf;
            for (int k = l + 1;k < r;k++)
                setf.insert(s);
            ans += setf.size();




      }
      return ans;
    }
};

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: (暴力枚举 水题 长度为3的不同回文子序列)leetcode 1930