1930. 长度为 3 的不同回文子序列
题目链接:1930. 长度为 3 的不同回文子序列
代码如下:
cpp
class Solution {
public:
int countPalindromicSubsequence(string s) {
int res = 0;
for (char alpha = 'a';alpha <= 'z';alpha++) {
int i = s.find(alpha);//最左边的alpha的下标
if (i == string::npos) { //s中没有alpha
continue;
}
int j = s.rfind(alpha);//最右边的alpha的下标
bool has[26]{};
for (int k = i + 1;k < j;k++) {//枚举中间字母s[k]
if (!has[s[k] - 'a']) {
has[s[k] - 'a'] = true;//避免重复统计
res++;
}
}
}
return res;
}
};