首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >1332. 删除回文子序列

1332. 删除回文子序列

作者头像
一只大鸽子
发布于 2022-12-06 08:58:44
发布于 2022-12-06 08:58:44
6180
举报

题目:

给你一个字符串 s,它仅由字母 'a' 和 'b' 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。

返回删除给定字符串中所有字符(字符串为空)的最小删除次数。

「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。

「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-palindromic-subsequences 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

经典的阅读理解题,很容易认为题目中“子序列”是通常的“连续子序列”,但是这题的子序列不要求连续。例如"aa"是"abab"的子序列。

又字符串仅由'a','b'组成,

因此,这题只要判断原序列s是否是回文的,此时只要1次删除。

否则,只要2次删除(先删除a组成的子序列,再删除b组成的子序列)。

答案:

代码语言:javascript
复制
class Solution:
    def removePalindromeSub(self, s: str) -> int:
            return 1 if s[::-1] == s  else 2 
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档