All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0701_0800.s0730_count_different_palindromic_subsequences.readme.md Maven / Gradle / Ivy

There is a newer version: 1.37
Show newest version
730\. Count Different Palindromic Subsequences

Hard

Given a string s, return _the number of different non-empty palindromic subsequences in_ `s`. Since the answer may be very large, return it **modulo** 109 + 7.

A subsequence of a string is obtained by deleting zero or more characters from the string.

A sequence is palindromic if it is equal to the sequence reversed.

Two sequences a1, a2, ... and b1, b2, ... are different if there is some `i` for which ai != bi.

**Example 1:**

**Input:** s = "bccb"

**Output:** 6

**Explanation:** The 6 different non-empty palindromic subsequences are 'b', 'c', 'bb', 'cc', 'bcb', 'bccb'. Note that 'bcb' is counted only once, even though it occurs twice.

**Example 2:**

**Input:** s = "abcdabcdabcdabcdabcdabcdabcdabcddcbadcbadcbadcbadcbadcbadcbadcba"

**Output:** 104860361

**Explanation:** There are 3104860382 different non-empty palindromic subsequences, which is 104860361 modulo 109 + 7.

**Constraints:**

*   `1 <= s.length <= 1000`
*   `s[i]` is either `'a'`, `'b'`, `'c'`, or `'d'`.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy