Unique Length-3 Palindromic Subsequences
Given a string s , produce the number of unique palindromes of length three that are a subsequence of s .
Note that even if there are multiple ways to obtain the same subsequence, it is still only counted once .
A palindrome is a text that reads the same forwards and backwards.
A subsequence of a text is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters.
- For example,
"ace"is a subsequence of"abcde".
Input: s = "aabca"
Output: 3
Explanation: The 3 palindromic subsequences of length 3 are:
-
"aba" (subsequence of "aabca")
-
"aaa" (subsequence of "aabca")
-
"aca" (subsequence of "aabca")
Input: s = "adc"
Output: 0
Explanation: There are no palindromic subsequences of length 3 in "adc".
Input: s = "bbcbaba"
Output: 4
Explanation: The 4 palindromic subsequences of length 3 are:
-
"bbb" (subsequence of "bbcbaba")
-
"bcb" (subsequence of "bbcbaba")
-
"bab" (subsequence of "bbcbaba")
-
"aba" (subsequence of "bbcbaba")
Constraints
3 <= s.length <= 10^5sconsists of only lowercase English letters.
Did this problem appear in one of your interviews?
Responses stay private.
