LeetCode 1930. 长度为 3 的不同回文子序列(计数)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个字符串 s ,返回 s 中 长度为 3 的不同回文子序列 的个数。

即便存在多种方法来构建相同的子序列,但相同的子序列只计数一次。

回文 是正着读和反着读一样的字符串。

子序列 是由原字符串删除其中部分字符(也可以不删除)且不改变剩余字符之间相对顺序形成的一个新字符串。

例如,"ace" 是 "abcde" 的一个子序列。
示例 1:
输入:s = "aabca"
输出:3
解释:长度为 33 个回文子序列分别是:
- "aba" ("aabca" 的子序列)
- "aaa" ("aabca" 的子序列)
- "aca" ("aabca" 的子序列)示例 2:
输入:s = "adc"
输出:0
解释:"adc" 不存在长度为 3 的回文子序列。示例 3:
输入:s = "bbcbaba"
输出:4
解释:长度为 34 个回文子序列分别是:
- "bbb" ("bbcbaba" 的子序列)
- "bcb" ("bbcbaba" 的子序列)
- "bab" ("bbcbaba" 的子序列)
- "aba" ("bbcbaba" 的子序列)提示:3 <= s.length <= 10^5s 仅由小写英文字母组成

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-length-3-palindromic-subsequences
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 对每个字符左右的字符进行计数
  • 遍历中间字符,同时查找左右两侧的26个字符是否都存在
  • 两侧都存在则将字符串编码成26进制数存入哈希set,最后返回哈希个数
class Solution {
public:int countPalindromicSubsequence(string s) {vector<int> L(26), R(26);L[s[0]-'a']++;for(int i = 2; i < s.size(); ++i)R[s[i]-'a']++;unordered_set<int> set;for(int i = 1; i < s.size()-1; ++i){for(int j = 0; j < 26; ++j){if(L[j] && R[j])set.insert((s[i]-'a')*26+j);}L[s[i]-'a']++;R[s[i+1]-'a']--;}return set.size();}
};

484 ms 12.9 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改telnet的用户名密码_远程管理设备telnet的N种设置方法

作为一名网络工程师&#xff0c;日常管理和配置设备&#xff0c;可以选择的方法有很多&#xff0c;很多(如下图)&#xff0c;但是最常用的配置手段&#xff0c;任然是本地使用console口&#xff0c;远程使用telnet(或SSH)&#xff0c;本文以思科设备演示几种telnet的设置方法&a…

ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库

如下&#xff1a;定义所需采集数据的标签名(或者数据源)&#xff0c; 并定义采集组存放这些标签&#xff1b;定义每个采集组的参数(节点、采集速度、相位、控制标签、状态和标签)&#xff1b;采集速度越快&#xff0c;则数据越准确&#xff0c;数据容量越大。iFIX定义的有效数据…

python只能以程序方式执行死刑_Python程序设计基础_2020智慧树网课答案章节答案...

Python程序设计基础_2020智慧树网课答案章节答案答案&#xff1a;更多相关问题审判时怀孕的妇女&#xff0c;无论犯了多么严重的罪&#xff0c;最高可以判处()。A.死刑立即执行B.无期徒刑C.有期徒刑甲见他人贩卖毒品获得巨额暴利,遂起贩毒之意,但苦于无毒品来源,便制造了大量假…

WPF系列 自定控件

引言 WPF中微软提供了一些基本的控件&#xff0c;但是工作中这些基础的控件往往不能满足我们的需求&#xff0c;这个时候我们就需要根据实际的需求去开发自己的控件&#xff0c;但要注意不是所有功能不满足的情况都需要通过自定义控件来实现。实际上一旦用到自定义控件&#xf…

Paddle 使用预训练模型 实现快递单信息抽取

文章目录1. 导包2. 数据处理3. 辅助函数3.1 评估函数3.2 预测函数3.3 预测结果解码4. 训练填写快递单据可以直接把所有信息直接粘贴进客户端&#xff0c;客户端自动识别 省市、人名、电话等信息&#xff0c;分类填入&#xff0c;然后打印出来粘贴。无须人工填写&#xff0c;加快…

java oracle 分区查询_深入学习Oracle分区表及分区索引

深入学习Oracle分区表及分区索引关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言&#xff0c;基本上可以分成几类&#xff1a;•    Range(范围)分区•    Hash(哈希)分区•    List(列表)分区•    以及组合分区&a…

python3 可执行文件_将python3打包成为exe可执行文件(pyinstaller)

我们工作中可能会遇到&#xff0c;客户需要一个爬虫或者其他什么功能的python脚本。这个时候&#xff0c;如果我们直接把我们的python脚本发给客户&#xff0c;会有两个问题&#xff1a;1、客户的电脑或者服务器可能并没有安装python环境&#xff0c;这样就直接导致客户拿到pyt…

LeetCode 1935. 可以输入的最大单词数

文章目录1. 题目2. 解题1. 题目 键盘出现了一些故障&#xff0c;有些字母键无法正常工作。 而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text &#xff0c;单词间由单个空格组成&#xff08;不含前导和尾随空格&#xff09;&#xff1b; 另有一个字符…

C# DateTime简单的定时器用法

DateTime是C#中的时间类&#xff0c;有公共索引器Now可以获取当前时间。 如果制作简单定时器的话&#xff0c;可以这样: 初始化&#xff1a;DateTime lasttimeDateTime.Now; TimeSpan timeintervalnew TimeSpan(1000); bool CheckTimer() { if(DateTime.Now.Substract(lasttime…

java 播放swf_我用java写了一个播放swf动画的类运行时报错了,代码和报错如下…...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼哪位高手帮小妹看看哈&#xff1b;谢谢啦&#xff0c;代码如下import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.SwingUtilities;import chrriis.common.UIUtils;import chr…

python rsa 公钥解密_python使用rsa库做公钥解密(网上别处找不到)

版权申明&#xff1a;本文为博主窗户(Colin Cai)原创&#xff0c;欢迎转帖。如要转贴&#xff0c;必须注明原文网址http://www.cnblogs.com/Colin-Cai/p/8013009.html作者&#xff1a;窗户QQ&#xff1a;6679072E-mail&#xff1a;6679072qq.com使用RSA公钥解密&#xff0c;用o…

立足现在,规划未来

Now Linux ShellPythonCREsed/awk LispSQE ISO9001/TS16949SPCSQL MySQLNoSQLLCDMore MBA转载于:https://www.cnblogs.com/omicron/p/4495644.html

LeetCode 1936. 新增的最少台阶数

文章目录1. 题目2. 解题1. 题目 给你一个 严格递增 的整数数组 rungs &#xff0c;用于表示梯子上每一台阶的 高度 。 当前你正站在高度为 0 的地板上&#xff0c;并打算爬到最后一个台阶。 另给你一个整数 dist 。 每次移动中&#xff0c;你可以到达下一个距离你当前位置&am…

mysql事务与jdbc事务_事务(mysql事务、jdbc事务)

一、MYSQL事务1、事务概念&#xff1a;事务是一个用户定义的数据库操作序列&#xff0c;这些操作要么全做要么全不做&#xff0c;是一个不可分割的工作单位。事务可以是一条sql语句&#xff0c;一组sqi语句或者整个程序。特性(ACDI)&#xff1a;(1)原子性&#xff1a;一个事务中…

access 如何使用dolby_Access/VBA/Excel-Access表及字段创建-03

Part 1&#xff1a;前面的话对Access数据库的大部分操作都可以通过SQL语言来实现SQL:Structure Query Language&#xff0c;结构化查询语言&#xff0c;语法简单&#xff0c;非常容易学SQL语言的执行可借助于ADO&#xff0c;ADO本身也支持对数据库的各种操作&#xff0c;但是涉…

LeetCode 1937. 扣分后的最大得分(动态规划)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的整数矩阵 points &#xff08;下标从 0 开始&#xff09;。 一开始你的得分为 0 &#xff0c;你想最大化从矩阵中得到的分数。 你的得分方式为&#xff1a;每一行 中选取一个格子&#xff0c;选中坐标为 (r, c) 的格子会给你…

java代码测试---插入排序和选择排序

1 public class QuickSort {2 3 //插入排序4 //插入前的序列是排序好的&#xff0c;将新插入的数值与之前的数值比较5 //直到找到合适的位置6 public static int[] quickSort(int[] arr){7 8 for(int j1;j<arr.length;j){9 …

mysql正则表达式配置_G. MySQL正则表达式

附录G&#xff1a;MySQL正则表达式正则表达式是为复杂搜索指定模式的强大方式。MySQL采用Henry Spencer的正则表达式实施&#xff0c;其目标是符合POSIX1003.2。请参见附录C&#xff1a;感谢。MySQL采用了扩展的版本&#xff0c;以支持在SQL语句中与REGEXP操作符一起使用的模式…

python列表appendtext_python-默认文本以及列表textvariable Entry小部...

为了将默认文本放在Entry小部件中,可以使用here所述的insert()方法.box.insert(0, "Value 1") # Set default text at cursor position 0.现在,为了在用户在框内单击鼠标后更改框的内容,您需要将事件绑定到Entry对象.例如,以下代码在单击该框时将其删除. (您可以阅读…

逻辑斯谛回归模型

逻辑斯谛回归模型是研究因变量为二分类或多分类观察结果与影响因素之间的关系的一种概率型非线性回归模型。逻辑斯谛回归系数通过最大似然估计得到。Logistic函数如下&#xff1a; 式中x为 这里是输入变量的n个特征&#xff0c;然后按照Logistic函数形式求出。 假设有n个独立变…