当前位置: 首页 > news >正文

力扣--动态规划5.最长回文子串

class Solution {
public:string longestPalindrome(string s) {// 获取输入字符串的长度int n = s.size();// 如果字符串长度为1,直接返回原字符串,因为任何单个字符都是回文串if (n == 1)return s;// 创建一个二维数组dp,用于记录子串是否为回文串vector<vector<bool>> dp(n, vector<bool>(n, false));// 定义两个循环变量i和j,i表示子串的起始位置,j表示子串的结束位置int i, j;// 初始化结果字符串为一个任意字符,长度为1string result = "a";// 从字符串的末尾开始向前遍历for (i = n - 1; i >= 0; i--) {for (j = i; j < n; j++) {// 情况1:子串只包含一个字符,一定是回文串if (i == j)dp[i][j] = true;// 情况2:子串包含两个字符,判断这两个字符是否相等else if (i == j - 1) {if (s[i] == s[j]) {dp[i][j] = true;// 更新结果字符串为当前长度更长的子串result = result.size() <= (j - i + 1)? s.substr(i, j - i + 1): result;}}// 情况3:子串长度大于2,判断首尾字符是否相等,并且去掉首尾字符的子串是回文串else {if (s[i] != s[j])continue;dp[i][j] = dp[i + 1][j - 1];if (dp[i][j] == true) {// 更新结果字符串为当前长度更长的子串result = result.size() <= (j - i + 1)? s.substr(i, j - i + 1): result;}}}}// 返回找到的最长回文子串return result;}
};

时间和空间复杂度都为O(n²),还是不是非常好。

相关文章:

力扣--动态规划5.最长回文子串

class Solution { public:string longestPalindrome(string s) {// 获取输入字符串的长度int n s.size();// 如果字符串长度为1&#xff0c;直接返回原字符串&#xff0c;因为任何单个字符都是回文串if (n 1)return s;// 创建一个二维数组dp&#xff0c;用于记录子串是否为回…...

PokéLLMon 源码解析(一)

.\PokeLLMon\poke_env\concurrency.py # 导入必要的模块 import asyncio import atexit import sys from logging import CRITICAL, disable from threading import Thread from typing import Any, List# 在新线程中运行事件循环 def __run_loop(loop: asyncio.AbstractEvent…...

银河麒麟服务器操作系统V10【vnc配置多用户登录】

1.添加多用户&#xff08;规划kingbase使用5901窗口&#xff0c;root使用5903&#xff09;&#xff1b; adduser kingbase 2.配置文件&#xff1b; cp -rp /lib/systemd/system/vncserver.service /etc/systemd/system/vncserver:1.servicecp -rp /lib/systemd/system/vncse…...

Logseq电脑端+安卓端同步gitee或github

文章目录 0.初衷1.电脑端1.1 新建仓库1.2 克隆项目&#xff0c;生成秘钥1.3 添加图谱&#xff0c;选择文件目录&#xff0c;我是原本就有笔记&#xff0c;所以会如下所示。1.4 下载脚本文件1.5赋权限 &#xff08;windows可跳过&#xff09;1.6 修改脚本命令1.7 logseq设置同步…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit

1.问题描述 在App中供用户在地图上选择地址&#xff0c;目前在使用Map Kit结合geolocationManager逆地理编码时获取的地址信息描述不准确&#xff0c;希望能提供相应的Demo参考。 解决方案 Demo代码示例&#xff1a; getLocation() { let requestInfo: geoLocationManager.…...

【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6

【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6 文章目录 前言一、创建controller相关二、逻辑分析RRBotModularJoint类解析ros2_control.xacro解析三、测试运行测试forward_position_controller总结前言 本篇文章在上篇文章的基础上主要讲解双轴机器人驱…...

Learn OpenGL 07 摄像机

定义摄像机参数 glm::vec3 cameraPos glm::vec3(0.0f, 0.0f, 3.0f);//摄像机位置glm::vec3 cameraTarget glm::vec3(0.0f, 0.0f, 0.0f);glm::vec3 cameraDirection glm::normalize(cameraPos - cameraTarget);//摄像机方向&#xff0c;指向z轴正方向 glm::vec3 up glm::vec…...

Linux系统部署火狐浏览器结合内网穿透实现公网访问

目录 前言 1. 部署Firefox 2. 本地访问Firefox 3. Linux安装Cpolar 4. 配置Firefox公网地址 5. 远程访问Firefox 6. 固定Firefox公网地址 7. 固定地址访问Firefox 结语 前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊Linux系统…...

Elastic Stack--05--聚合、映射mapping

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶&#xff08;bucket&#xff09;度量&#xff08;metrics&#xff09; 案例 11. 接下来按price字段进行分组&#xff1a;2. 若想对所…...

【嵌入式——QT】Model/View

【嵌入式——QT】Model/View 基本原理数据模型视图组件代理Model/View结构的一些概念QFileSystemModelQStringListModelQStandardItemModel自定义代理 基本原理 GUI应用程序的一个很重要的功能是由用户在界面上编辑和修改数据&#xff0c;典型的如数据库应用程序&#xff0c;数…...

向量化编程书籍推荐

文章目录 1. 书籍清单 1. 书籍清单 《Linear Algebra and Its Applications》 by Gilbert Strang 这本书是线性代数的经典教材&#xff0c;线性代数是向量化编程的基础。它涵盖了向量、矩阵、线性变换等内容&#xff0c;对理解向量化编程的数学概念非常有帮助《NumPy Beginner…...

算法D43 | 动态规划5 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了&#xff0c;可以尝试先自己思考做一做。 视频讲解&#xff1a;动态规划之背包问题&#xff0c;这个背包最多能装多少&#xff1f;LeetCode&#xff1a;1049.最后一块石头的重量II_哔哩哔哩_bilibili 代…...

设计模式—桥接模式

定义: 桥接模式是将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。它是一种对象结构型模式&#xff0c;又称为柄体(Handle and Body)模式或接口(Interfce)模式。 本章代码:小麻雀icknn/设计模式练习 - Gitee.com 结构: 抽象化(Abstraction)角色&#xff1a…...

伊萨卡训练代码

我们建议创建并激活 conda 环境&#xff0c;以确保在下面安装正确的软件包版本的干净环境。 # Optional but recommended: conda create -n ithaca python3.9 conda activate ithaca 克隆此存储库并进入其根目录。通过以下方式安装完整的 ithaca 依赖项&#xff08;包括训练&am…...

视频产品介绍:AS-VCVR-N多协议视频接入网关

目 录 一、产品概述 &#xff08;一&#xff09;非标设备接入 &#xff08;二&#xff09;信令流转换 &#xff08;三&#xff09;媒体流转发 二、网关特性 三、技术参数 一、产品概述 视频接入网关服务是终端用户与视频源的传输枢纽&#xff0c;实现把前端不同…...

大型网站架构演化总结

本文图解大型网站架构演化。 目录 1、单一应用服务阶段 2、应用与数据服务分离阶段 3、利用缓存提高性能阶段 4、应用服务集群阶段 5、数据库读写分离阶段 6、反向代理与CDN加速阶段 7、分布式数据库阶段 8、 NoSQL与搜索引擎阶段 9、业务拆分阶段 10、分布式服务阶…...

5G智能制造纺织工厂数字孪生可视化平台,推进纺织行业数字化转型

5G智能制造纺织工厂数字孪生可视化平台&#xff0c;推进纺织行业数字化转型。纺织工业作为传统制造业的重要组成部分&#xff0c;面临着转型升级的紧迫需求。随着5G技术的快速发展&#xff0c;智能制造成为纺织工业转型升级的重要方向。数字孪生可视化平台作为智能制造的核心技…...

仿牛客网项目---Elasticsearch分布式搜索引擎

1.什么是ElasticSearch分布式搜索引擎&#xff1f; Elasticsearch是一个开源的分布式搜索引擎&#xff0c;提供实时的、高可用性的搜索和分析解决方案。它支持快速索引和搜索大规模数据&#xff0c;具有分布式架构、RESTful API、基于JSON的查询语言等功能&#xff0c;适用于各…...

macbook pro 2018 安装 arch linux 双系统

文章目录 友情提醒关于我的 mac在 mac 上需要提前做的事情复制 wifi 驱动 在 linux 上的操作还原 wifi 驱动连接 wifi 网络磁盘分区制作文件系统挂载分区 使用 archinstall 来安装 arch linux遗留问题 友情提醒 安装 archl linux 的时候&#xff0c;mac 的键盘是没法用的&#…...

虚拟机安装CentOS教学,超详细一步安装到底!

首先将Centos的镜像文件进行下载&#xff0c;随后再进行安装配置&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.8.2003/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso 1.打开VMware,新建虚拟机&#xff0c;选择典型安装&#xff0c;点击下一步 ​ 2.选择稍…...

从自然语言到图形化程序:VI Generator如何重塑LabVIEW开发流程

1. VI Generator&#xff1a;当LabVIEW遇上大模型 第一次听说VI Generator时&#xff0c;我正在调试一个自动化测试平台。客户临时要求增加数据滤波功能&#xff0c;这意味着我又要重复拖拽那些熟悉的While循环和数组操作节点。就在我机械地复制粘贴代码时&#xff0c;同事发来…...

别再复制粘贴了!手把手教你用TypeScript封装一个企业级axios请求库(附完整源码)

从零构建高可维护的TypeScript请求库&#xff1a;axios企业级封装实战 每次在Vue3项目中新建一个页面&#xff0c;你是否习惯性打开旧项目复制粘贴网络请求代码&#xff1f;当接口字段变更时&#xff0c;是否需要在十几个文件中逐个修改错误处理逻辑&#xff1f;这种重复劳动不…...

【开发界人文十问】二、类的private私有,到底是对谁私有?为何修改器能随意修改?

文章目录一、先破误区&#xff1a;private 从来不是“安全加密”二、private 到底是“对谁私有”&#xff1f;它限制这些&#xff1a;它完全管不了这些&#xff1a;三、为什么修改器可以随便改私有变量&#xff1f;四、一张表看懂 private 的真实边界五、回到人文思考&#xff…...

nuScenes数据集实战指南:从安装到多传感器数据可视化

1. nuScenes数据集简介与安装指南 第一次接触nuScenes数据集时&#xff0c;我被它丰富的传感器配置震撼到了——6个摄像头、1个激光雷达、5个毫米波雷达的同步数据&#xff0c;这简直就是自动驾驶研究的"黄金标准"。作为目前最权威的自动驾驶开源数据集之一&#xff…...

别再被file.conf坑了!Seata-Server连接MySQL的三大经典报错与终极修复方案

Seata-Server连接MySQL的三大经典报错与终极修复方案 当你满怀期待地启动Seata-Server&#xff0c;准备为微服务架构引入分布式事务能力时&#xff0c;MySQL连接问题往往会成为第一个拦路虎。作为分布式事务协调的核心组件&#xff0c;Seata-Server与数据库的稳定连接是保障事务…...

【从零开始学Java | 第三十二篇】方法引用(Method Reference)

目录 前言 一、什么是方法引用&#xff1f; 1.引例 2.方法引用的语法 二、方法引用的分类 1.引用静态方法 2.引用成员方法 ①其他类&#xff1a;其他类对象::方法名 3.引用构造方法 4.使用类名引用成员方法 5.引用数组的构造方法 总结 前言 在 Java 8 引入 Lambda 表…...

计算机毕业设计:Python空气污染数据分析可视化系统 Django框架 可视化 数据分析 Prophet时间序列 大数据 大模型 深度学习(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

模糊控制系统中去模糊化(Defuzzification)方法实战解析

1. 为什么需要去模糊化&#xff1f; 想象一下你在调节空调温度的场景。当室温达到28℃时&#xff0c;传统控制系统会直接给出"开50%制冷"的指令。但模糊控制系统会说&#xff1a;"温度有点高&#xff0c;制冷力度中等偏强"。这个"中等偏强"就是模…...

从幻觉到失控,大模型对齐为何总在上线后崩盘?5个被99%团队忽略的工程断点

第一章&#xff1a;从幻觉到失控&#xff1a;大模型对齐崩盘的本质归因 2026奇点智能技术大会(https://ml-summit.org) 大模型的“对齐崩盘”并非偶然故障&#xff0c;而是多重目标函数在高维策略空间中发生结构性解耦的必然结果。当监督微调&#xff08;SFT&#xff09;与基于…...

Python的__subclasshook__方法在抽象基类动态子类检查中的扩展

Python作为一门动态语言&#xff0c;其抽象基类&#xff08;ABC&#xff09;机制通过__subclasshook__方法实现了灵活的子类检查能力。这一特性打破了传统继承关系的静态限制&#xff0c;允许开发者在不修改类继承结构的情况下&#xff0c;动态判断类之间的逻辑关系。本文将深入…...