Skip to main content
impol.dev

Unique Length-3 Palindromic Subsequences

Medium

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" .
Example 1

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")

Example 2

Input: s = "adc"

Output: 0

Explanation: There are no palindromic subsequences of length 3 in "adc".

Example 3

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^5
  • s consists of only lowercase English letters.

Did this problem appear in one of your interviews?

Responses stay private.

Acceptance rate: 0%

© 2026 impol.dev. All rights reserved.PrivacyTerms