LeetCode 1745. 回文串分割 IV(区间DP)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个字符串 s ,如果可以将它分割成三个 非空 回文子字符串,那么返回 true ,否则返回 false 。

当一个字符串正着读和反着读是一模一样的,就称其为 回文字符串

示例 1:
输入:s = "abcbdd"
输出:true
解释:"abcbdd" = "a" + "bcb" + "dd",三个子字符串都是回文的。示例 2:
输入:s = "bcbddxy"
输出:false
解释:s 没办法被分割成 3 个回文子字符串。提示:
3 <= s.length <= 2000
s​​​​​​ 只包含小写英文字母。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-partitioning-iv
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 区间DP,dp[i][j] 表示字符串子串 s[i:j] 是否是回文串,时间复杂度 O(n2)O(n^2)O(n2)
class Solution {
public:bool checkPartitioning(string s) {int n = s.size();vector<vector<bool>> dp(n, vector<bool>(n,false));dp[0][0] = true;for(int i = 1; i < n; i++){dp[i][i] = true;// [i, j] 区间是不是回文if(s[i-1] == s[i])dp[i-1][i] = true;}for(int len = 2; len < n; len++){for(int i = 0, j; i+len < n; i++){j = i + len;if(s[i]==s[j] && dp[i+1][j-1])dp[i][j] = true;}}for(int i = 0; i < n-2; i++) // [0, i] [i+1, j] [j+1, n-1]{for(int j = i+1; j < n-1; j++){if(dp[0][i] && dp[i+1][j] && dp[j+1][n-1])return true;}}return false;}
};

204 ms 17 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

5000并发的qps是多少_高并发架构设计

点击蓝字&#xff0c;关注我们01概述高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一&#xff0c;它通常是指&#xff0c;通过设计保证系统能够同时并行处理很多请求。高并发一方面可以提高资源利用率&#xff0c;加快系统响应速度&#xff0c;但是同…

TensorFlow 2.0 - tf.data.Dataset 数据预处理 猫狗分类

文章目录1 tf.data.Dataset.from_tensor_slices() 数据集建立2. Dataset.map(f) 数据集预处理3. Dataset.prefetch() 并行处理4. for 循环获取数据5. 例子: 猫狗分类学习于&#xff1a;简单粗暴 TensorFlow 2 1 tf.data.Dataset.from_tensor_slices() 数据集建立 tf.data.Dat…

flutter 图解_【Flutter 专题】83 图解自定义 ACEWave 波浪 Widget (一)

和尚今天尝试一下绘制波浪的效果&#xff0c;虽然 pub 仓库中已经有成熟的插件&#xff0c;但和尚还是准备用之前学习的 Canvas 和 Animation 尝试自定义一个 ACEWave&#xff1b;1. 绘制曲线绘制波浪首先需要绘制曲线&#xff0c;采用 Canvas 绘制贝塞尔曲线&#xff1b;常用的…

c++ 不插入重复元素但也不排序_面试时写不出排序算法?看这篇就够了

小Hub领读&#xff1a;本文主要详细讲述常见的八种排序算法的思想、实现以及复杂度。包括冒泡排序、快速排序、插入排序、希尔排序等等&#xff0c;文章讲解非常详细&#xff01;作者&#xff1a;静默虚空https://juejin.im/post/5cb6b8f551882532c334bcf2本文已归档到&#xf…

LintCode 1816. 使结果不超过阈值的最小除数(二分查找)

文章目录1. 题目2. 解题1. 题目 描述 给你一个整数数组 nums 和一个正整数 threshold &#xff0c;你需要选择一个正整数作为除数&#xff0c;然后将数组里每个数都除以它&#xff0c;并对除法结果求和。 请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个…

马里兰大学calce电池循环测试数据集_千次循环,全程1.5V恒压,紫米新一代充电锂电池套装上手体验...

电池应该是每个家庭都会用到的东西&#xff0c;在现在智能家电飞迅发展的当下更是如此&#xff0c;比如智能门锁、智能门铃&#xff0c;都需要电池的供电&#xff0c;才能正常使用。而普通碱电池在电量耗尽后就无法循环使用&#xff0c;所以为了能节省成本减少电池对环境的污染…

TensorFlow 2.0 - TFRecord存储数据集、@tf.function图执行模式、tf.TensorArray、tf.config分配GPU

文章目录1. TFRecord 格式存储2. tf.function 高性能3. tf.TensorArray 支持计算图特性4. tf.config 分配GPU学习于&#xff1a;简单粗暴 TensorFlow 2 1. TFRecord 格式存储 使用该种格式&#xff0c;更高效地进行大规模的模型训练 import random import os import tensorfl…

c++ qt qlistwidget清空_Qt编写控件属性设计器12-用户属性

一、前言用户属性是后面新增加的一个功能&#xff0c;自定义控件如果采用的Q_PROPERTY修饰的属性&#xff0c;会自动识别到属性栏中&#xff0c;这个一般称为控件属性&#xff0c;在组态设计软件中&#xff0c;光有控件本身的控件属性还是不够的&#xff0c;毕竟这些属性仅仅是…

TensorFlow 2.0 - tf.saved_model.save 模型导出

文章目录1. tf.saved_model.save2. Keras API 模型导出学习于&#xff1a;简单粗暴 TensorFlow 2 1. tf.saved_model.save tf.train.Checkpoint 可以保存和恢复模型中参数的权值导出模型&#xff1a;包含参数的权值&#xff0c;计算图 无须源码即可再次运行模型&#xff0c;适…

机器人动力学与控制_力控制与位置控制的区别

1.背景介绍目前已经广泛落地的力控制方案是在机械臂末端安装多轴力矩传感器&#xff0c;用以检测机械臂对外界环境施加的力反馈值&#xff0c;并配合适当的控制策略&#xff0c;已达到控制机械臂与环境的作用力。这篇文章所要探讨的力控制&#xff08;上述力控制方案&#xff0…

基坑监测日报模板_基坑监测有多重要?实录基坑坍塌过程,不亲身经历,不知道现场有多恐怖!...

基坑整体坍塌不亲身经历&#xff0c;不知其恐怖▼前段时间&#xff0c;南宁绿地中央广场房地产项目D号地块(二期)基坑北侧约60米支护桩突然崩塌&#xff01;所幸无人伤亡。深基坑施工安全生产管理要点一、基坑开挖 1、 临边防护(1)基坑施工必须按要求进行&#xff0c;具体临边防…

[转]asp.net导出数据到Excel的三种方法

原文出处&#xff1a;asp.net导出数据到Excel的几种方法(1/3) 、asp.net导出数据到Excel的几种方法(2/3)、asp.net导出数据到Excel的几种方法(3/3) asp.net导出到Excel也是个老生常谈的问题&#xff0c;在此归纳一下。 第一种是比较常用的方法。是利用控件的RenderControl功能…

LintCode 378. 将二叉树转换成双链表(非递归遍历)

文章目录1. 题目2. 解题1. 题目 将一个二叉树按照中序遍历转换成双向链表。 样例 样例 1&#xff1a; 输入:4/ \2 5/ \1 3 输出: 1<->2<->3<->4<->5样例 2&#xff1a; 输入:3/ \4 1输出:4<->3<->1https://www.lintcode.com/pro…

js 将图片置灰_艾叶灰千万别扔——艾叶灰的神奇功效

请 点 上面“经络技巧”免费关注每晚9点准时免费更新点击下面图片阅读↓↓↓—— 以下是正文 ——艾灰的妙用1、宝宝经常会有红屁股&#xff0c;做妈妈的当然心疼&#xff0c;用了不少膏啊霜啊油啊&#xff0c;效果也是反反复复&#xff0c;尤其害怕会有依赖性。在妈妈的提醒下…

LintCode 434. 岛屿的个数II(并查集)

文章目录1. 题目2. 解题1. 题目 给定 n, m, 分别代表一个二维矩阵的行数和列数, 并给定一个大小为 k 的二元数组A. 初始二维矩阵全0. 二元数组A内的k个元素代表k次操作, 设第 i 个元素为 (A[i].x, A[i].y), 表示把二维矩阵中下标为A[i].x行A[i].y列的元素由海洋变为岛屿. 问在…

jqprintsetup已经安装还会提示_Windows 10更新将修复困扰用户已久的循环安装问题...

对于某些设备的用户来说&#xff0c;过去一年一直深受 Windows Update 陷入循环更新的问题困扰&#xff0c;尤其是那些使用英特尔驱动程序的设备。问题在于 Windows Update 会提示错误地提供不适配的驱动或版本&#xff0c;并且强行覆盖安装。此外即便用户已经安装了更新更好的…

springboot设置运行内存_Docker 如何运行多个 Springboot?

docker 如何运行多个Springboot &#xff1f;第一个&#xff1a;端口映射第二个&#xff1a;指定内存大小第三个&#xff1a;读取、写入物理文件第四个&#xff1a;日志文件第五个&#xff1a;多个容器内部网络访问第六个&#xff1a;遇到的问题第一个&#xff1a;端口映射Ngin…

LintCode 1915. 举重(01背包)

文章目录1. 题目2. 解题1. 题目 奥利第一次来到健身房&#xff0c;她正在计算她能举起的最大重量。 杠铃所能承受的最大重量为maxCapacity&#xff0c;健身房里有 n 个杠铃片&#xff0c;第 i 个杠铃片的重量为 weights[i]。 奥利现在需要选一些杠铃片加到杠铃上&#xff0c;使…

python实现简单线性回归和多元线性回归算法

1、问题引入 在统计学中&#xff0c;线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。一个带有一个自变量的线性回归方程代表一条直线。我们需要对线性回归结…

form表单通过checkbox_飞冰表单解决方案 - FormBinder

前言中后台业务场景中&#xff0c;表单是一种很常见的与用户交互的方式&#xff0c;从业务角度看&#xff0c;表单主要是收集用户的信息&#xff0c;而从技术角度看&#xff0c;作为一个通用型的组件&#xff0c;它要解决的问题无非就是三个&#xff1a;把一个初始数据对象扔给…