Talentd
FleetCode

2484. Count Palindromic Subsequences

Hard41.7% acceptance11 companies

Given a string of digits s, return the number of palindromic subsequences of s having length 5. Since the answer may be very large, return it modulo 109 + 7.

Note:

  • A string is palindromic if it reads the same forward and backward.
  • A subsequence is a string that can be derived from another string by deleting some or no characters without changing the order of the remaining characters.

Example 1:

Input: s = "103301"
Output: 2
Explanation: 
There are 6 possible subsequences of length 5: "10330","10331","10301","10301","13301","03301". 
Two of them (both equal to "10301") are palindromic.

Example 2:

Input: s = "0000000"
Output: 21
Explanation: All 21 subsequences are "00000", which is palindromic.

Example 3:

Input: s = "9999900000"
Output: 2
Explanation: The only two palindromic subsequences are "99999" and "00000".

Constraints:

  • 1 <= s.length <= 104
  • s consists of digits.

Hints open one at a time

Hint 1
There are 100 possibilities for the first two characters of the palindrome.
Hint 2
Iterate over all characters, letting the current character be the center of the palindrome.
47:22
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def countPalindromes(self, s: str) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
"103301"
Input
"0000000"
Input
"9999900000"
Your code is saved on this device.Solution