seo资源网站排名,百度指数下载app,WordPress插件ckplayer,建设一个电影网站怎么做文章目录1. 题目2. 解题1. 题目
给你一个字符串 s #xff0c;返回 s 中 长度为 3 的不同回文子序列 的个数。
即便存在多种方法来构建相同的子序列#xff0c;但相同的子序列只计数一次。
回文 是正着读和反着读一样的字符串。
子序列 是由原字符串删除其中部分字符返回 s 中 长度为 3 的不同回文子序列 的个数。
即便存在多种方法来构建相同的子序列但相同的子序列只计数一次。
回文 是正着读和反着读一样的字符串。
子序列 是由原字符串删除其中部分字符也可以不删除且不改变剩余字符之间相对顺序形成的一个新字符串。
例如ace 是 abcde 的一个子序列。示例 1
输入s aabca
输出3
解释长度为 3 的 3 个回文子序列分别是
- aba (aabca 的子序列)
- aaa (aabca 的子序列)
- aca (aabca 的子序列)示例 2
输入s adc
输出0
解释adc 不存在长度为 3 的回文子序列。示例 3
输入s bbcbaba
输出4
解释长度为 3 的 4 个回文子序列分别是
- 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) {vectorint L(26), R(26);L[s[0]-a];for(int i 2; i s.size(); i)R[s[i]-a];unordered_setint 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)*26j);}L[s[i]-a];R[s[i1]-a]--;}return set.size();}
};484 ms 12.9 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步