mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
43 lines
1.8 KiB
HTML
43 lines
1.8 KiB
HTML
<p>给你一个字符串 <code>s</code> ,请你找到 <code>s</code> 中两个 <strong>不相交回文子序列</strong> ,使得它们长度的 <strong>乘积最大</strong> 。两个子序列在原字符串中如果没有任何相同下标的字符,则它们是 <strong>不相交</strong> 的。</p>
|
||
|
||
<p>请你返回两个回文子序列长度可以达到的<strong> 最大乘积</strong> 。</p>
|
||
|
||
<p><strong>子序列</strong> 指的是从原字符串中删除若干个字符(可以一个也不删除)后,剩余字符不改变顺序而得到的结果。如果一个字符串从前往后读和从后往前读一模一样,那么这个字符串是一个 <strong>回文字符串</strong> 。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<p><img alt="example-1" src="https://assets.leetcode.com/uploads/2021/08/24/two-palindromic-subsequences.png" style="width: 550px; height: 124px;"></p>
|
||
|
||
<pre><b>输入:</b>s = "leetcodecom"
|
||
<b>输出:</b>9
|
||
<b>解释:</b>最优方案是选择 "ete" 作为第一个子序列,"cdc" 作为第二个子序列。
|
||
它们的乘积为 3 * 3 = 9 。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><b>输入:</b>s = "bb"
|
||
<b>输出:</b>1
|
||
<b>解释:</b>最优方案为选择 "b" (第一个字符)作为第一个子序列,"b" (第二个字符)作为第二个子序列。
|
||
它们的乘积为 1 * 1 = 1 。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre><b>输入:</b>s = "accbcaxxcxx"
|
||
<b>输出:</b>25
|
||
<b>解释:</b>最优方案为选择 "accca" 作为第一个子序列,"xxcxx" 作为第二个子序列。
|
||
它们的乘积为 5 * 5 = 25 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>2 <= s.length <= 12</code></li>
|
||
<li><code>s</code> 只含有小写英文字母。</li>
|
||
</ul>
|