最长回文字符串

#  状态转移方程 P(i,j)=P(i+1,j−1)∧(Si==Sj)class Solution:def longestPalindrome(self, s: str) -> str:n = len(s)if n < 2:return smax_len = 1begin = 0# dp[i][j] 表示s[i..j]是否是回文串dp = [[False] * n for _ in range(n)]for i in range(n):dp[i][i] = True# 开始递推# 先枚举子串长度for L in range(2, n+1):# 枚举左边界for i in range(n):# 由L和i可以确定右边界,即j-i+1 = Lj = L + i - 1# 如果右边界越界,退出当前循环if j >= n:break  # 跳出当前循环if s[i] != s[j]:dp[i][j] = Falseelse:if j-i<3:dp[i][j] = Trueelse:dp[i][j] = dp[i+1][j-1]# 只要 dp[i][j]==True 成立,就表示子串s[i][j]是回文,此时记录回文长度和起始位置if dp[i][j] and j-i+1>max_len:max_len = j-i+1begin = ireturn s[begin:begin+max_len]

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

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

相关文章

【网络世界】HTTP协议

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 概念 &#x1f4c1; URL &#x1f4c2; urlencode 和 urldecode &#x1f4c1; 协议格式 &#x1f4c1; 方法 &#x1f4c2; GET/get &#x1f4c2; POST/post &#x1f4c1; 常见的报头 &#x1f4c1; 状态码 &…

模型大小的指标和模型量化的指标和手段

一、模型大小的指标 1.计算量 计算次数&#xff0c;反映了模型对硬件计算单元的需求。计算量的单位是 OPs(Operations) 。最常用的数据格式 为 float32&#xff0c;因此float32类型下的计算量单位被写作 FLOPs (Floating Point Operations)&#xff0c;即浮点计算次数。模型的…

3D Web轻量化引擎HOOPS Communicator针对复杂大模型Web端可视化的解决方案

随着工程设计、制造和建筑领域中三维模型的日益复杂化&#xff0c;如何在Web端高效处理和展示这些大规模数据成为一大挑战。HOOPS Communicator作为一款强大的3D可视化工具&#xff0c;提供了一套针对复杂大模型的轻量化解决方案&#xff0c;涵盖了模型轻量化及格式转换、超大模…

PostgreSQL成为最受欢迎的数据库; TiDB马拉松大赛开启, Serverless和Vector为比赛焦点

重要更新 1. TiDB Hackathon大赛报名开启&#xff0c;总奖金达21万&#xff0c;主题是基于 TiDB Serverless 内置的向量搜索功能&#xff08;Vector Search&#xff09;构建 AI 创新应用&#xff0c;感兴趣的可以报名参加。( [1] ) 2. Stack Overflow 2024 开发者调研结果公布…

自学JavaScript(放假在家自学第一天)

目录 JavaScript介绍分为以下几点 1.1 JavaScript 是什么 1.2JavaScript书写位置 1.3 Javascript注释 1.4 Javascript结束符 1.5 Javascript输入输出语法 JavaScript(是什么?) 是一种运行在客户端(浏览器)的编程语言&#xff0c;实现人机交互效果。 2.作用(做什么?)网…

NestedScrollVew实现原理分析

NestedScrollView 是 Android 中的一个特殊滚动视图&#xff0c;它继承自 ScrollView&#xff0c;但添加了对嵌套滚动&#xff08;nested scrolling&#xff09;的支持。这使得 NestedScrollView 可以与其它支持嵌套滚动的视图&#xff08;如 RecyclerView&#xff09;协同工作…

从头开始微调Llama 3.1模型

在今天的科技专栏中&#xff0c;我们将深入探讨如何微调Llama 3.1模型&#xff0c;以使其更好地适应您的特定领域数据。微调大型语言模型&#xff08;如Llama&#xff09;的主要目的是为了在特定领域的数据上表现更好&#xff0c;从而生成更符合您需求的输出。以下是我们将要介…

链表的中间结点 - 力扣(LeetCode)C语言

876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09;( 点击前面链接即可查看题目) /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* head) {struct Lis…

如何实现一个大模型在回答问题时同时提供相关内容链接

通义生成 为了让大模型在回答问题时能够提供相关内容链接&#xff0c;通常采用的方法是结合检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;的技术。这种方法可以让大模型在生成答案的同时&#xff0c;从外部知识源中检索相关信息&#xff0c;并将这…

SpringBoot知识笔记

一、基本概念 1.1 特性 起步依赖 自动配置 其它特性:内嵌的Tomcat、Jetty(无需部署WAR文件),外部配置,不需要XML配置(properties/yml)。 1.2 配置文件 SpringBoot提供了多种属性配置方式 //application.properties server.port=9090 server.servlet.context-path…

状态模式与订单状态机的实现

状态模式 状态模式&#xff08;State Design Pattern&#xff09;是一种行为设计模式&#xff0c;用于在对象的内部状态改变时改变其行为。这种模式可以将状态的变化封装在状态对象中&#xff0c;使得对象在状态变化时不会影响到其他代码&#xff0c;提升了代码的灵活性和可维…

Python爬虫知识体系-----Urllib库的使用

数据科学、数据分析、人工智能必备知识汇总-----Python爬虫-----持续更新&#xff1a;https://blog.csdn.net/grd_java/article/details/140574349 文章目录 1. 基本使用2. 请求对象的定制3. 编解码1. get请求方式&#xff1a;urllib.parse.quote&#xff08;&#xff09;2. ur…

邦布带你从零开始实现图书管理系统(java版)

今天我们来从零开始实现图书管理系统。 图书管理系统 来看我们的具体的实现&#xff0c;上述视频。 我们首先来实现框架&#xff0c;我们要实现图书管理系统&#xff0c;首先要搭框架。 我们首先定义一个书包&#xff0c;在书包中定义一个书类和一个书架类&#xff0c;再定义…

数据库之常用函数

目录 一、数值函数 1.求绝对值函数 2.求余函数 3.用于获取整数的函数 4.获取随机数的函数 5.四舍五入函数 6.截取小数函数 二、字符串函数 1.返回字符串长度和字符串中字符个数的函数 2.合并字符串的函数 3.替换字符串的函数 4.字母大小写转换函数 5.获取指定长度…

Webpack、Vite区别知多少?

前端的项目打包&#xff0c;我们常用的构建工具有Webpack和Vite&#xff0c;那么Webpack和Vite是两种不同的前端构建工具,那么你们又是否了解它们的区别呢&#xff1f;我们在做项目时要如何选择呢&#xff1f; 一、工具定义 1、Webpack&#xff1a;是一个强大的静态模块打包工…

用Java手写jvm之实现查找class

写在前面 完成类加载器加载class的三阶段&#xff0c;加载&#xff0c;解析&#xff0c;初始化中的加载&#x1f600;&#x1f600;&#x1f600; 源码 。 jvm想要运行class&#xff0c;是根据类全限定名称来从特定的位置基于类加载器来查找的&#xff0c;分别如下&#xff1a;…

go语言与UPX

源自&#xff1a;压缩工具之upx_51CTO博客_za压缩工具 下面是直接copy的&#xff1a; 在golang项目中, 最终运行的是打包好的二进制文件,如何才能让这个文件尽可能的小呢? 1.编译阶段的参数处理 go build使用的是静态编译&#xff0c;会将程序的依赖一起打包&#xff0c;这…

【SQL 新手教程 2/20】关系模型 -- 主键

&#x1f497; 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表 记录 (Record)&#xff1a; 表的每一行称为记录&#xff08;Record&#xff09;&#xff0c;记录是一个逻辑意义上的数据 字段 (Column)&#xff1a;表的每一列称为字段&#xff08;Colu…

【算法】二进制常用操作

二进制常用操作 求n的二进制中第k位数字&#xff1a; n > > k & 1 n>>k\& 1 n>>k&1​ lowbit(x)的用法:返回x中最后一个1&#xff0c; l o w b i t ( x ) x & ( − x ) lowbit(x)x\&(-x) lowbit(x)x&(−x)​ 输入一个 32 位整数&a…

java如何同时继承接口和抽象类

java中要同时继承接口和抽象&#xff0c;需要用到的语句是 class 类名 extends 抽象类名 implements 接口 示例代码如下 interface Animal02{public String Name"牧羊犬";public void shout();public void info(); } abstract class Action01{public abstract voi…