力扣 分割回文串

输出的是不同的分割方案

class Solution {
public:vector<vector<bool>>flag;vector<string>ans;vector<vector<string>>nums;void dfs(string &s,int i){int n=s.size();if(i==n){i表示s长度,等于即全部分割完毕nums.push_back(ans);return;}for(int j=i;j<n;j++){if(flag[i][j]){ans.push_back(s.substr(i,j-i+1));dfs(s,j+1);ans.pop_back();         }} }vector<vector<string>> partition(string s) {int n=s.size(),i,j;assign赋n个值为x的元素到vector容器中
flag.assign(n,vector<bool>(n,true));
只有一个字母默认为true初始化为一个 n x n 的二维布尔数组,其中所有元素都设置为 true,动态规划判断i到j是否为回文串
for(i=n-1;i>=0;i--)
从最后一个字符往前  abba  a,ba,bb,bba,ab,abb,abbafor(j=i+1;j<n;j++){
if(s[i]==s[j]&&flag[i+1][j-1])
s[i]和s[j]相等,且去掉这两个字符后的子串s[i+1...j-1]也是回文串flag[i][j]=true;elseflag[i][j]=false;}dfs(s,0);return nums;  }};

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PTA天梯 L1-071前世档案

网络世界中时常会遇到这类滑稽的算命小程序&#xff0c;实现原理很简单&#xff0c;随便设计几个问题&#xff0c;根据玩家对每个问题的回答选择一条判断树中的路径&#xff08;如下图所示&#xff09;&#xff0c;结论就是路径终点对应的那个结点。 现在我们把结论从左到右顺…

C++指针(三)

个人主页:PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 文章目录 前言 1.字符指针 1.1字符指针的概念 1.2字符指针的用处 1.3字符指针的操作 1.3.1定义 1.3.2初始化 1.4字符指针使用注意事项 2.数组参数&#xff0c;指针参数 2.1数组参数 2.1.1数组参数的概念 2.1…

鸡尾酒疗法 T1067

鸡尾酒疗法&#xff0c;原指 “高效抗逆转录病毒治疗”&#xff08;HAARTHAART&#xff09;&#xff0c;由美籍华裔科学家何大一于 1996 年提出&#xff0c;是通过三种或三种以上的抗病毒药物联合使用来治疗艾滋病。该疗法的应用可以减少单一用药产生的抗药性&#xff0c;最大限…

一文了解docker与k8s

随着 k8s 作为容器编排解决方案变得越来越流行&#xff0c;有些人开始拿 Docker 和 k8s 进行对比&#xff0c;不禁问道&#xff1a;Docker 不香吗&#xff1f; k8s 是 kubernetes 的缩写&#xff0c;8 代表中间的八个字符。 其实 Docker 和 k8s 并非直接的竞争对手两者相互依存…

配电房轨道式巡检机器人方案

一、应用背景 在变电站、配电房、开关站等各种室内变配电场所内&#xff0c;由于变配电设备的数量众多、可能存在各类安全隐患&#xff0c;为了保证用电的安全可靠&#xff0c;都要进行日常巡检。 但目前配电房人工巡检方式有以下主要问题&#xff1a; 巡检工作量大、成本高 …

智能的花火,照亮一座5G钢铁工厂的时代之舞

“东风夜放花千树。更吹落&#xff0c;星如雨。凤箫声动&#xff0c;玉壶光转&#xff0c;一夜鱼龙舞”&#xff0c;辛弃疾在《青玉案》中描绘的“打铁花”&#xff0c;是刚刚过去的春节假期中&#xff0c;全国各地都在上演的中式浪漫。 当铁水被击打向高空&#xff0c;犹如千万…

[NSSCTF 2nd] web复现

1.php签到 <?phpfunction waf($filename){$black_list array("ph", "htaccess", "ini");$ext pathinfo($filename, PATHINFO_EXTENSION);foreach ($black_list as $value) {if (stristr($ext, $value)){return false;}}return true; }if(i…

反向传播算法(Back Propagation)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 反向传播算法 梯度下降和反向传播是神经网络训练过程中两个非常重要的概念&#xff0c;它们密切相关。梯度下降是一种常用的优化算法&#xff0…

萝卜大杂烩 | 提高数据科学工作效率的 8 个 Python 库

本文来源公众号“萝卜大杂烩”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;提高数据科学工作效率的 8 个 Python 库 在进行数据科学时&#xff0c;可能会浪费大量时间编码并等待计算机运行某些东西。所以我选择了一些 Python 库…

STM32 DMA入门指导

什么是DMA DMA&#xff0c;全称直接存储器访问&#xff08;Direct Memory Access&#xff09;&#xff0c;是一种允许硬件子系统直接读写系统内存的技术&#xff0c;无需中央处理单元&#xff08;CPU&#xff09;的介入。下面是DMA的工作原理概述&#xff1a; 数据传输触发&am…

UE 打包窗口及鼠标状态设置

UE 打包窗口及鼠标状态设置 打包后鼠标不锁定 显示鼠标图标 打包后设置窗口模式 找到打包路径下的配置文件GameUserSettings&#xff0c;设置相关项目 FullscreenMode0表示全屏模式&#xff0c;1表示窗口全屏模式&#xff0c;2表示窗口模式

安卓JNI基础知识

JNI基础知识 JNI简介NDK配置开发环境JNI实践配置CMakeJNI编码JNI注册1.静态注册2.动态注册 编译方式CMakeLists编译Makefile编译命令编译 JNI和C/C代码分离Java调用C/C查看so中包含的方法 C/C调用Java打印C/C的log生成多个共享库soJNI调试 本文整理了JNI技术基础知识 JNI简介 …