@ninijiaLeetcode每日一题练习 ------ 1930. 长度为 3 的不同回文子序列 中发帖

从Leetcode 每日一题练习继续讨论: 
1930. 长度为 3 的不同回文子序列
1930. Unique Length-3 Palindromic Subsequences
题解
本题注意是找子序列而不是子数组,不需要连续,只需要相对位置的先后和数组中相同即可。考虑三个字符的回文串,首尾字符必定相同,中间可以是任意字符,因此可使用双指针,一个从头遍历数组,一个从尾部遍历数组,同时用一个布尔数组记录从头遍历数组过程中已经遇到的字母。一个变量记录当前已经遇到的字母个数。
在遍历过程中,为了找到回文串,对头部指针指向的字符,如果该字母之前没有遍历过,则尾部指针从尾部开始遍历数组找到和头部指针指向字母相同的字母(需在头部指针当前位置的后面),再遍历两个指针中间的字母,统计出现的不同字母的个数即为首尾为当前指针指向的字母的情况下能组成的不同的三字母回文序列的个数。此处可做简单优化,当统...