当前位置: 首页 > article >正文

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

关键就是去重,暴力没啥好说明的

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[l] != i)//找到左边第一个等于s[i]的下标
            {
                l++;
            }
            while (r > 0 && s[r] != i)//找到右边边第一个等于s[i]的下标
            {
                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[k]);
            ans += setf.size();




        }
        return ans;
    }
};


http://www.kler.cn/a/592286.html

相关文章:

  • 留 言 板
  • 数据结构-ArrayList
  • MyBatis面试常见问题
  • 网络编程之客户端通过服务器与另外一个客户端交流
  • Java线性表(顺序表)
  • 算法刷题记录——LeetCode篇(2) [第101~200题](持续更新)
  • 【MySQL数据库】存储过程与自定义函数(含: SQL变量、分支语句、循环语句 和 游标、异常处理 等内容)
  • 美团Leaf分布式ID生成器使用教程:号段模式与Snowflake模式详解
  • 友思特应用 | 行业首创:基于深度学习视觉平台的AI驱动轮胎检测自动化
  • 基于微信小程序与SSM框架的高校课堂教学管理系统的设计与实现
  • 信息学奥赛一本通 1831:【03NOIP提高组】神经网络 | 洛谷 P1038 [NOIP 2003 提高组] 神经网络
  • 【前每日一题DAY-1】JS为什么能有异步任务?
  • 如何基于Gone编写一个Goner对接Apollo配置中心(下)—— 对组件进行单元测试
  • 破解验证码新利器:基于百度OCR与captcha-killer-modified插件的免费调用教程
  • 在处理欧拉函数时如何使用逆元
  • PHP转GO Day2 数据类型与控制结构实践(开发计算器)
  • 【高并发内存池】第二弹---深入解析高并发内存池与ThreadCache设计
  • Collection系列集合的小结+集合并发修改异常问题
  • 13 - linux 内存子系统
  • redis主从架构和集群---java