当前位置:   article > 正文

华为OD面试手撕代码:删除回文子序列

华为OD面试手撕代码:删除回文子序列

题目

删除回文子序列

给你一个字符串 s,它仅由字母 'a' 和 'b' 组成。每一次删除操作都可以从 s 中删除一个回文 子序列,返回删除给定字符串中所有字符(字符串为空)的最小删除次数。 「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。 「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。

示例 1
  1. 输入:s = "ababa"
  2. 输出:1
  3. 解释:字符串本身就是回文序列,只需要删除一次。
示例 2
  1. 输入:s = "abb"
  2. 输出:2
  3. 解释:"abb" -> "bb" -> "".
  4. 先删除回文子序列 "a",然后再删除 "bb"
示例 3
  1. 输入:s = "baabb"
  2. 输出:2
  3. 解释:"baabb" -> "b" -> "".
  4. 先删除回文子序列 "baab",然后再删除 "b"
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/811588
推荐阅读
相关标签
  

闽ICP备14008679号