LeetCode-131 分割回文串

LeetCode-131 分割回文串

  • 题目描述
  • 解题思路
  • C++ 代码

题目描述

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。

示例 1:

输入:s = “aab”
输出:[[“a”,“a”,“b”],[“aa”,“b”]]
示例 2:

输入:s = “a”
输出:[[“a”]]

解题思路

B站题目讲解
在解决组合、排列、子集、切割问题时,我们选择使用回溯算法。

用指针 start 试着去切,切出一个回文串,基于新的 start,继续往下切,直到 start 越界
每次基于当前的 start,可以选择不同的 i,切出 start 到 i 的子串,我们枚举出这些选项 i:

  • 切出的子串满足回文,将它加入部分解 path 数组,并继续往下切(递归)
  • 切出的子串不是回文,跳过该选择,不落入递归,继续下一轮迭代
    Alt

C++ 代码

class Solution {
public:
    vector<vector<string>> partition(string s) {
        back_tracking(s, 0);
        return res;
    }
private:
    vector<vector<string>> res;
    vector<string> path;

    bool isPalindrome(const string& s, int start, int end) {
        for (int i = start, j = end; i < j; i++, j--) {
            if (s[i] != s[j]) return false;
        }
        return true;
    }
    
    void back_tracking(string& s, int index) {
        if (index >= s.size()) {
            res.push_back(path);
            return;
        } else {
            for (int i = index; i < s.size(); i++) {
                if (isPalindrome(s, index, i)) {
                    path.push_back(s.substr(index, i - index + 1));
                } else {
                    continue;
                }
                back_tracking(s, i + 1);
                path.pop_back();
            }
        }
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/665991.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1.8k Star!RAGApp:在任何企业中使用 Agentic RAG 的最简单方法!

原文链接&#xff1a;&#xff08;更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号&#xff01;&#xff09; 1.8k Star&#xff01;RAGApp&#xff1a;在任何企业中使用 Agentic RAG 的最简单方法&#xff01; &#x1f31f;在任何企业中使用 Agent…

大数据信用报告分析和评估有什么意义

大数据信用这个词在现在已经是很常见的了&#xff0c;只要是申贷的朋友对它就不陌生&#xff0c;在明面上的信用资质刚刚满足审核要求&#xff0c;但又要把控风险的时候&#xff0c;这个时候大数据信用就会作为风控机构交叉核查的重要依据。那你知道大数据信用报告分析和评估有…

二、线性回归模型

目录 一、线性回归 1.模型示例 2.代码实验&#xff08;C1_W1_Lab03_Model_Representation&#xff09; (1).工具使用 (2).问题描述-房价预测 (3).输入数据 (4).绘制数据集坐标点 (5).建模构造函数 二、代价函数&#xff08;Cost function&#xff09; 1.解释一下概念…

上架 Google Play 的那些辛酸泪

一、注册 Google 账号 首先你要有个账号&#xff0c;地址如下&#xff1a; accounts.google.com/signup/v2/w… 按照 Google 爸爸要求&#xff0c;该填写的都填了&#xff0c;随后点击下一步。 验证手机号&#xff1a; 输入验证码验证当前手机号&#xff1a; 其他信息填写&a…

废品回收小程序怎么做?有哪些核心功能?

废品回收行业正逐步走向高质量发展的道路。在国家政策的推动下&#xff0c;再生资源市场需求旺盛&#xff0c;行业内部竞争格局逐渐明朗。 随着互联网技术的发展&#xff0c;"互联网回收"成为废品回收行业的一个新趋势。通过微信小程序这种线上平台&#xff0c;用户…

Linux--EXT2文件系统

参考资料&#xff1a; linux之EXT2文件系统--理解block/block group/索引结点inode/索引位图_一个块组中索引节点表和数据块区最多占用字节-CSDN博客 linux环境&#xff1a; Linux version 5.15.146.1-microsoft-standard-WSL2 (root65c757a075e2) (gcc (GCC) 11.2.0, GNU ld…

Wpf 使用 Prism 实战开发Day30

登录界面设计 一.准备登录界面图片素材&#xff08;透明背景图片&#xff09; 1.把准备好的图片放在Images 文件夹下面&#xff0c;格式分别是.png和.ico 2.选中 login.png图片鼠标右键&#xff0c;选择属性。生成的操作选择>资源 3.MyTodo 应用程序右键&#xff0c;属性&a…

音量的对数表示与浮点数表示

音量用浮点数&#xff08;float&#xff09;和对数&#xff08;logarithmic scale&#xff09;表示各有特点和应用场景 浮点数&#xff1a;直接使用线性刻度表示音量&#xff0c;例如在0.0&#xff08;最小音量&#xff09;到1.0&#xff08;最大音量&#xff09;的范围内。对…

YZW900规格书

title: “深圳市沃进科技有限公司” 深圳市沃进科技有限公司 TOP视图 特性 异地组网&#xff0c;远程访问有线/无线备份单模双卡备份5G转有线&#xff0c;5G转WIFI2.4G5.8G双频WIFI三网口&#xff0c;WAN/LAN可切换软硬件看门狗智能防掉线云平台、客户端远程管理安装支架安装铝…

MyBatis延迟加载缓存分页逆向工程

文章目录 延迟加载概述步骤 缓存一级缓存介绍原理 二级缓存介绍 设置缓存对象策略原理开启步骤属性解释是否使用一级缓存 分页插件使用步骤 逆向工程介绍搭建使用增删修改查 延迟加载 概述 延迟加载本身是依赖于多表查询的 延迟加载中返回值要选择resultMap返回的结果一定是D…

【QEMU 中文文档】0. Hello QEMU!

最近&#xff0c;我开始研究QEMU这个超强的虚拟化和仿真工具。不得不说&#xff0c;读英文文档真是让我头大 &#x1f974;。于是我灵机一动&#xff0c;为什么不做个QEMU的中文文档呢&#xff1f;毕竟&#xff0c;现在有了ChatGPT的强大翻译能力&#xff0c;我决定尝试一下&am…

分形之科赫雪花

前言 分形是一种具有自相似性的几何图形或数学对象。它的特点是无论在任何放大或缩小的尺度下,都能够看到与整体相似的图形。分形的形状可以非常复杂,常常具有分支、重复的图案,以及细节层次丰富的结构。 分形在自然界中广泛存在,如云朵、树枝、山脉、海岸线等,它们都展…

铁塔基站用能监控能效解决方案

截至2023年10月&#xff0c;我国5G基站总数达321.5万个&#xff0c;占全国通信基站总数的28.1%。然而&#xff0c;随着5G基站数量的快速增长&#xff0c;基站的能耗问题也逐渐日益凸显&#xff0c;基站的用电给运营商带来了巨大的电费开支压力&#xff0c;降低5G基站的能耗成为…

一图了解【电子面拦截】接口

【电子面拦截】又可以成为快递拦截 商品还在运输途中&#xff0c;买家申请仅退款、想修改地址怎么办&#xff1f; 百递云API开放平台最新推出「电子面单拦截」接口&#xff0c;提供三种拦截类型&#xff0c;助力快速拦截处理在途包裹。 下图带您了解&#x1f447;

Leecode---栈---每日温度 / 最小栈及栈和队列的相互实现

栈&#xff1a;先入后出&#xff1b;队列&#xff1a;先入先出 一、每日温度 Leecode—739题目&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温…

2.6 Docker部署多个前端项目

2.6 Docker部署多个项目 三. 部署前端项目 1.将前端项目打包到同一目录下&#xff08;tcm-ui&#xff09; 2. 部署nginx容器 docker run --namenginx -p 9090:9090 -p 9091:9091 -d nginx3. 复制nginx.conf文件到主机目录 docker cp nginx:/etc/nginx/nginx.conf /root/ja…

大模型之路,从菜鸟到模型大师只需要一步

前言&#xff1a; 在这个数据爆炸的时代&#xff0c;大模型技术正以前所未有的速度发展。从自然语言处理到计算机视觉&#xff0c;从智能推荐到自动驾驶&#xff0c;大模型正逐渐渗透到我们生活的方方面面。那么&#xff0c;如何从菜鸟成长为模型大师呢&#xff1f;本文将为你…

【JMeter接口自动化】第8讲 Fiddler抓包Jmeter

1&#xff09;配置好Fiddler 设置Fiddler-Tools-Options-HTTPS 设置Fiddler-Tools-Options-Connections&#xff0c;设置端口为8888 2&#xff09;查看IP 在CMD中输入ipconfig 查看IP地址 3&#xff09;配置Jmeter Http请求——基本&#xff0c;设置Http请求&#xff0c;使用…

英语学习笔记30——What must I do?

What must I do? 我应该做点啥&#xff1f; 词汇 Vocabulary empty v. 倒空&#xff0c;变空 a. 空的 搭配&#xff1a;empty bottle 空瓶子    empty room 空屋子 例句&#xff1a;教室里空无一人。    The classroom is empty.    我有一个空瓶子。    I have…

智能家居元宇宙三维互动展示在线创作平台

卫浴行业正迎来一场全新的革命——卫浴元宇宙3D展厅搭建编辑器。它基于互联网信息技术、3D线上展示与VR虚拟现实技术&#xff0c;为您打造一个沉浸式的3D虚拟空间&#xff0c;让您的卫浴产品在线上展示中焕发出前所未有的光彩。 在这个卫浴元宇宙中&#xff0c;您可以随心所欲地…