【LeetCode刷题日记】1332. 删除回文子序列

2023-05-16

题目

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

示例 2:
输入:s = "abb"
输出:2
解释:"abb" -> "bb" -> "". 
先删除回文子序列 "a",然后再删除 "bb"。

示例 3:
输入:s = "baabb"
输出:2
解释:"baabb" -> "b" -> "". 
先删除回文子序列 "baab",然后再删除 "b"。
 
提示:
1 <= s.length <= 1000
s 仅包含字母 'a'  和 'b'

题解

[外链图片转存中…(img-nOOOA8F1-1642868833625)]

C

int removePalindromeSub(char * s) {
    int n = strlen(s);
    for (int i = 0; i < n / 2; ++i) {
        if (s[i] != s[n - 1 - i]) {
            return 2;
        }
    }
    return 1;
}

C++

class Solution {
public:
    int removePalindromeSub(string s) {
        int n = s.size();
        for (int i = 0; i < n / 2; ++i) {
            if (s[i] != s[n - 1 - i]) {
                return 2;
            }
        }
        return 1;
    }
};

Java.

class Solution {
    public int removePalindromeSub(String s) {
        int n = s.length();
        for (int i = 0; i < n / 2; ++i) {
            if (s.charAt(i) != s.charAt(n - 1 - i)) {
                return 2;
            }
        }
        return 1;
    }
}

知识点复习

strlen和sizeof的区别

.size()

.length()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【LeetCode刷题日记】1332. 删除回文子序列 的相关文章

随机推荐

  • 【每天一个 Linux 命令】网络相关命令(ifconfig、route、ping、traceroute、netstat、ss、telnet、rcp、scp)

    文章目录 ifconfig命令ifconfig命令使用示例route命令语法route命令使用示例ping命令语法ping命令使用示例traceroute命令语法traceroute命令使用示例netstat命令语法netstat命令使用示
  • Windows常用CMD命令

    参考下面几篇博客 xff1a Windows 用户需要知道的 CMD 常用命令总结 CMD常用命令大全 CMD常用命令
  • PIXHAWK飞行模式

    PIXHAWK飞行模式 从mission planner中设置pixhawk的飞行模式时 xff0c 一共给出了多种飞行模式 xff0c 分别为 xff1a MANUAL STABILIZED ACRO RATTITUDE ALTCTL P
  • FileZilla 通过sftp(ssh)协议远端登录Linux虚拟机

    FileZilla nbsp 通过sftp ssh 协议远端登录Linux虚拟机 参考网址 1 Filezilla连接虚拟机Ubuntu16 04传输文件 生命长跑的博客 CSDN博客 2 问题解决手记 VMWare虚拟机与本地主机不能互p
  • 【Python学习笔记】Python学习资料汇总

    不懂算法的程序员不是好程序员 xff0c 学习Python xff0c 可以更好的使用算法 xff0c 使用ML DL来处理数据 这篇文章就对自己觉得不错的学习资料进行汇总 Python基础教程 xff0c Python入门教程 xff08
  • 【LeetCode刷题日记】1716. 计算力扣银行的钱

    题目 Hercy 想要为购买第一辆车存钱 他 每天 都往力扣银行里存钱 最开始 xff0c 他在周一的时候存入 1 块钱 从周二到周日 xff0c 他每天都比前一天多存入 1 块钱 在接下来每一个周一 xff0c 他都会比 前一个周一 多存
  • 美团人的写作基本功是如何练成的

    在美团 xff0c 王兴非常重视写作 他曾经说过 xff1a 写作是我要带头苦练的基本功 xff0c 是非常基本的能力 因为一个事情要积累的话 xff0c 就得书面化 写作看起来和业务没什么关系 xff0c 但这是一个非常共通的 极其基础的
  • 【LeetCode刷题日记】382. 链表随机节点

    题目 给你一个单链表 xff0c 随机选择链表的一个节点 xff0c 并返回相应的节点值 每个节点 被选中的概率一样 实现 Solution 类 xff1a Solution ListNode head 使用整数数组初始化对象 int ge
  • Python Matplotlib教程

    Python Matplotlib教程 文章目录 Python Matplotlib教程教程特点阅读条件 数据可视化是什么数据可视化数据可视化应用场景 Matplotlib是什么Matplotlib架构组成1 脚本层2 美工层3 后端层 M
  • 【Python学习笔记】认识anaconda

    可以参考下面几篇文章 xff1a Anaconda完全入门指南 Anaconda介绍 安装及使用教程 Anaconda使用教程一 xff08 新手友好 xff09 另外下面总结一下conda的常用命令 xff1a span class to
  • 【Python学习笔记】 if __name__ == ‘__main__‘ 如何正确理解?

    引言 学过Java C C 43 43 的程序员应该都知道 xff0c 每次开启一个程序 xff0c 都必须写一个主函数作为程序的入口 xff0c 也就是我们常说的main函数 如下所示 xff0c main 就是Java中的一个main函
  • 聊聊我常用的5款动态数据可视化工具

    转自 Python大数据分析 xff08 ID xff1a pydatas xff09 视频当道的时代 xff0c 数据可视化自然也要动起来 我常用的动态可视化工具主要有 Tableau Echarts Flourish Python 这几
  • 物联网十年简史

    分享一篇好文 xff1a 万字长文 xff1a 物联网十年简史
  • 【LeetCode刷题日记】539. 最小时间差

    题目 给定一个 24 小时制 xff08 小时 分钟 34 HH MM 34 xff09 的时间列表 xff0c 找出列表中任意两个时间的最小时间差并以分钟数表示 示例 1 xff1a 输入 xff1a timePoints 61 34 2
  • LQR、LQR-MPC、GP-MPC控制倒立摆

    LQR控制倒立摆 xff1a 倒立摆状态方程 xff1a 目标任务 xff1a 模型参数 xff1a LQR for the cart pole system load 39 cp params mat 39 syms phi phid x
  • 事件驱动和消息驱动

    之前简单写过一些关于事件驱动的文章 xff1a C C 43 43 服务器开发 事件驱动 事件驱动架构 事件驱动编程及设计模式 最近看到一篇不错的文章 xff0c 在此转载一下 xff1a 事件驱动和消息驱动 事件驱动和消息驱动 消息驱动和
  • 如何写好一个数据分析报告,需要注意哪些?

    写一份好的数据分析报告的重要性不言而喻 xff08 只要我写的好 xff0c 升职加薪 年终奖就少不了我 xff09 大家都知道 xff0c 数据分析报告的输出是整个业务分析过程的成果 xff0c 是评定一条业务线的参考依据 xff0c 既
  • 任正非:全面提升软件工程能力与实践,打造可信的高质量产品

    最近看了点软件工程相关的东西 xff0c 转一下这篇文章 全面提升软件工程能力与实践 xff0c 打造可信的高质量产品 致全体员工的一封信 我今天写信 xff0c 是要和大家沟通公司如何全面提升软件工程能力和实践 二十年前的IPD变革 xf
  • 你真的会画时序图吗?

    文章目录 一 WaveDrom功能二 WaveDrom的使用三 绘制时序图四 时序图教程五 逻辑电路图教程六 Github主页七 VScode中使用Waveform 摘要 xff1a WaveDrom是一个免费开源的在线数字时序图渲染引擎
  • 【LeetCode刷题日记】1332. 删除回文子序列

    题目 给你一个字符串 s xff0c 它仅由字母 39 a 39 和 39 b 39 组成 每一次删除操作都可以从 s 中删除一个回文 子序列 返回删除给定字符串中所有字符 xff08 字符串为空 xff09 的最小删除次数 子序列 定义