代码随想录算法训练营第二十七天| 131.分割回文串

2023-11-03

 131.分割回文串  

本题较难,大家先看视频来理解 分割问题,明天还会有一道分割问题,先打打基础。 

代码随想录

视频讲解:带你学透回溯算法-分割回文串(对应力扣题目:131.分割回文串)| 回溯法精讲!_哔哩哔哩_bilibili

List<List<String>> lists = new ArrayList<>();
    Deque<String> deque = new LinkedList<>();

    public List<List<String>> partition(String s) {
        backTracking(s, 0);
        return lists;
    }

    private void backTracking(String s, int startIndex) {
        //如果起始位置大于s的大小,说明找到了一组分割方案
        if (startIndex >= s.length()) {
            lists.add(new ArrayList(deque));
            return;
        }
        for (int i = startIndex; i < s.length(); i++) {
            //如果是回文子串,则记录
            if (isPalindrome(s, startIndex, i)) {
                String str = s.substring(startIndex, i + 1);
                deque.addLast(str);
            } else {
                continue;
            }
            //起始位置后移,保证不重复
            backTracking(s, i + 1);
            deque.removeLast();
        }
    }
    //判断是否是回文串
    private boolean isPalindrome(String s, int startIndex, int end) {
        for (int i = startIndex, j = end; i < j; i++, j--) {
            if (s.charAt(i) != s.charAt(j)) {
                return false;
            }
        }
        return true;
    }

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

代码随想录算法训练营第二十七天| 131.分割回文串 的相关文章

  • 【Spring Boot整合MyBatis教程】

    Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 该框架使用了特定的方式来进行配置 从而使开发人员不再需要定义样板化的配置 通过这种方式 Spring Boot致力于在
  • 用4种语言编写端口扫描器(Java、C、Python、Go)

    Java import java net InetSocketAddress import java net Socket import java util concurrent ExecutorService import java ut
  • Ghost-Docker(五)Nginx+SSL+Https

    使用 Ngins SSL 证书 为 Ghost 实现 Https 访问 HTTPS 协议是由 HTTP 加上 TLS SSL 协议构建的可进行加密传输 身份认证的网络协议 主要通过数字证书 加密算法 非对称密钥等技术完成互联网数据传输加密
  • ElementUI过渡动画篇

    ElementUI过渡动画篇 element官方提供的过渡动画并不能很好的满足使用 我尝试过几种过渡动画的设置方式 最终选择了Animate css 一 使用方法 引入 引入 npm install animate css save 然后在

随机推荐

  • 保姆级连载讲义学Python:第四篇多文件项目的演练

    多文件项目的演练 开发 项目 就是开发一个 专门解决一个复杂业务功能的软件 通常每 一个项目 就具有一个 独立专属的目录 用于保存 所有和项目相关的文件 一个项目通常会包含 很多源文件 目标 在项目中添加多个文件 并且设置文件的执行 多文件
  • FastAPI从入门到实战(10)——响应模型与状态码

    前面一直记录的是请求相关的内容 这篇文章开始记录一下响应相关的内容 包括请求模型和模型继承以及状态码等相关的内容 一个任意dict构成的基本响应 任意dict构成的响应 app06 get stu06 dict response model
  • STL容器使用中的拷贝成本

    include stdafx h include
  • ESP32基础应用之HTTP 服务器

    文章目录 1 HTTP服务器简介 2 ApiPost测试工具 3 HTTP服务器实验 3 1 ApiPost之GET测试 3 2 ApiPost之POST测试 3 3 ApiPost值PUT测试 参考资料 esp32 http服务器编程指南
  • windows xp 驱动开发(五) USB驱动程序、应用软件概述

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家提出意见 一起讨论 1 USB设备驱动程序 WDM模型 1 1 分类 USB设备驱动程序的设计是基于微软件的WDM WDM采用分层驱动程序模型
  • vue dependencies相关说明

    依赖项相关说明 dependencies 主页面 riophae vue treeselect 0 4 0 树形多选框 菜单等使用 vue count to 1 0 13 数据动态滚动展示 echarts 4 9 0 fuse js 6 4
  • Feature Selective Anchor-Free Module for Single-Shot Object Detection论文阅读

    Feature Selective Anchor Free Module for Single Shot Object Detection 下载地址 Feature Selective Anchor Free Module for Sing
  • 【深度学习】基于卷积神经网络的验证码识别

    活动地址 CSDN21天学习挑战赛 目录 前言 了解captcha数据集 下载weather photos数据集 采用CPU训练还是GPU训练 区别 使用CPU训练 使用GPU训练 支持中文 导入数据 查看数据量 显示部分图片 预处理 手动
  • 蓝桥杯2022初赛.求和

    题目描述 给定n个整数a 1 a 2 a n 求两两相乘再相加的和 即 S a 1 a 2 a 1 a 3 a 1 a n a 2 a 3 a 2 a n a n 1 a n 输入格式 第一行为正整数n 第二行为n个整数 30 的数据 2
  • nacos启动失败集锦

    我们启动nacos时 常常因各种环境条件所限 导致nacos启动不成功 现将nacos启动不成功的原因及解决办法罗列一下 物理内存小于启动时nacos的虚拟机内存设置 free 命令显示系统内存的使用情况 包括物理内存 交换内存 swap
  • 单元测试时调用 Debug.Break() 无效

    解决方案 在 Debug Break 后等待一帧 示例 UnityTest public IEnumerator TestDebugBreak Debug Log 编辑器暂停 Debug Break yield return null 等待
  • 夜神常用路径

    夜神安卓模拟器下载的文件在哪 怎么找不到了 小伙伴们是不是经常有这些疑问 一般情况下 使用夜神安卓模拟器下载的文件只能在夜神安卓模拟器里面看到 因为其下载的位置是在模拟器的景象文件里 电脑系统的文件夹里是无法直接看到的 不过用户可以使用夜神
  • GRAPH --- 图的相关概念整理

    Graph 更多Graph 的观念与术语 被vertex v指到的vertex vertices 称为v的 successor s 指向v的vertex vertices 称为v的 predecessor s 以 通讯录 为例 v的通讯录内
  • LeetCode 259. 3Sum Smaller(三数值和)

    原题网址 https leetcode com problems 3sum smaller Given an array of n integers nums and a target find the number of index tr
  • Go语言中的rune数据类型

    写在前面 最近开始学习Go语言 因为自己是从Java逐步转Go原因 在感慨Go语言简便的同时 也因为其封装的数据类型和包较多 所以还得慢慢学习 今天来谈谈Go语言中的rune数据类型 名词解释 Go语言中的整数类型也有有符号数和无符号数之别
  • blender 贴图导入与连接 学习日志

    1 下载贴图 推荐贴图网站ambientCG Public Domain Resources for Physically Based Renderinghttps ambientcg com 选定心仪的贴图进行下载 下载格式的选择 JPG
  • 进程虚拟地址空间以及三种内存管理方式 分页式/分段式/段页式

    平时我们都知道地址 是内存单元的编号 指针则是存储变量地址的变量 那么程序是否会有地址呢 程序是不占用内存的 存储在磁盘中 只有当运行时才会将数据载入内存中 进程的狭义概念是一个正在运行中的程序 进程详解看上一篇博客 因此进程是有地址空间的
  • 软件测试入门知识,jmeter系统基础课程———带你由浅入深学性能(三)

    给各位想学软件测试的同学们准备了一些自学资料 打开方式戳我并且输入暗号 CSDN 整理不易 希望对各位学习软件测试能带来帮助 2 XPath 提取 Xpath 基础语法 class A href 从根目录下定位所有 class A 的 hr
  • ORB_line_SLAM的编译及报错处理

    马上就要毕业了 搜索csdn没有关于ORB line SLAM的运行 在此记录一下为学习SLAM的小伙伴们做个参考 码字不易 动手点个赞 1 编译过程同ORBSLAM2一致 看此帖ORBSLAM2安装 2 编译过程报错处理 error1 W
  • 代码随想录算法训练营第二十七天| 131.分割回文串

    131 分割回文串 本题较难 大家先看视频来理解 分割问题 明天还会有一道分割问题 先打打基础 代码随想录 视频讲解 带你学透回溯算法 分割回文串 对应力扣题目 131 分割回文串 回溯法精讲 哔哩哔哩 bilibili List