华为机考入门python3--(32)牛客32-密码截取

分类:最长对称子串、动态规划

知识点:

  1. 生成二维数组    dp = [[0] * n for _ in range(n)]

  2. 求最大值    max(value1, value2)

  3. 动态规划的步骤

a. 定义问题

    长度为n下最长的对称子串的长度

b. 确定状态

     dp[i][j]表示字符串从索引i到j的子串是否为对称子串。

c. 初始化状态

    dp[j][j] = 1

d. 确定状态转移方程

    dp[i][j]和dp[i-1][j-1]、dp[i-1][j]、dp[i][j-1]等的某种转换关系

题目来自【牛客】

图片

找出最长对称子串


def findLongestSymmetricSubstring(s):n = len(s)# 用于存储状态的二维数组,# dp[i][j]表示字符串从索引i到j的子串是否为有效的对称密码串dp = [[0] * n for _ in range(n)]max_length = 0  # 记录最大长度# 遍历每个字符for j in range(n):dp[j][j] = 1  # 单个字符是对称的# 从最近j的出发,所以i是从j-1到0for i in range(j - 1, -1, -1):# 如果首尾字符相同,且去除首尾字符后的子串是对称的 或者 是相邻字符if s[i] == s[j] and (dp[i + 1][j - 1] or j - i <= 2):dp[i][j] = 1max_length = max(max_length, j - i + 1)  # 更新最大长度return max_length# 输入
input_str = input()# 获取最长有效密码串的长度并输出结果
result = findLongestSymmetricSubstring(input_str)
print(result)

findLongestSymmetricSubstring 函数使用动态规划来找到字符串中的最长有效对称密码串。基本思路是初始化一个二维数组 dp 用于记录状态,然后遍历字符串,更新数组中每个位置的状态,最终找到最长的有效密码串的长度并返回。

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

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

相关文章

封装,static,代码块,对象的打印

封装&#xff0c;static&#xff0c;代码块&#xff0c;对象的打印 1. 封装1.1 封装的概念1.2 包的概念1.3 访问修饰限定符1.4 被封装的属性如何set和get&#xff1f; 2. static2.1 再谈学生类2.2 static修饰成员变量2.3 static修饰成员方法2.4 static成员变量初始化 3. 代码块…

IGMP——组播成员端网络协议

目录 一.IGMP基本概念 &#xff08;1&#xff09;组播转发困境 &#xff08;2&#xff09;感知组播成员方式 &#xff08;3&#xff09;IGMP版本 二.IGMP各版本的区别与联系 &#xff08;1&#xff09;IGMPV1 1.普遍组查询报文 2.成员关系报告报文 3.IGMPV1报文格式 4…

java第十七课 —— 递归

方法递归调用 递归就是方法自己调用自己&#xff0c;每次调用时传入不同的变量&#xff0c;递归有助于编程者解决复杂问题&#xff0c;同时可以让代码变得简洁。 递归重要规则 执行一个方法时&#xff0c;就创建一个新的受保护的独立空间&#xff08;栈空间&#xff09;。方…

922. 按奇偶排序数组 II - 力扣

1. 题目 给定一个非负整数数组 nums&#xff0c; nums 中一半整数是 奇数 &#xff0c;一半整数是 偶数 。 对数组进行排序&#xff0c;以便当 nums[i] 为奇数时&#xff0c;i 也是 奇数 &#xff1b;当 nums[i] 为偶数时&#xff0c; i 也是 偶数 。 你可以返回 任何满足上述…

微服务架构-异步消息传递设计模式

微服务架构-异步消息传递设计模式 异步消息允许服务发送消息后立即返回&#xff0c;而不需要等待消息被处理完毕&#xff0c;这种异步方式可以大大提高系统的处理速度、和吞吐量。 微服务架构&#xff0c;通常涉及多个服务之间的相互调用&#xff0c;如果通信只是在少数几个微…

lama-cleaner中的Paint-by-Example使用

Lama Cleaner是一个免费的、开源的、完全自托管的修复工具&#xff0c;里面提供了很多最前沿的AIGC模型。可以使用它从图片中删除任何不需要的物体、缺陷、人物&#xff0c;或删除和替换图片上的任何内容。本文章详细介绍了该工具的所有功能&#xff0c;并体验了下每个功能的实…

Shell编程之正则表达式与文本处理器

一、正则表达式 之前学习了 Shell 脚本的基础用法&#xff0c;已经可以利用条件判断、循环等语句编辑 Shell 脚本。接下来我们将开始介绍一个很重要的概念——正则表达式&#xff08;RegularExpression&#xff0c;RE&#xff09;。 1.1正则表达式概述 下面先来了解一下正则表…

BUUCTF---web---[BJDCTF2020]ZJCTF,不过如此

1、点开连接&#xff0c;页面出现了提示 传入一个参数text&#xff0c;里面的内容要包括I have a dream。 构造&#xff1a;?/textI have a dream。发现页面没有显示。这里推测可能得使用伪协议 在文件包含那一行&#xff0c;我们看到了next.php的提示&#xff0c;我们尝试读取…

卢文岩博士受邀参与中国科学院大学校友论坛 解码DPU核心价值

近日&#xff0c;第五届中国科学院大学校友创新论坛正式举行&#xff0c;本次论坛聚焦科技前沿领域&#xff0c;旨在搭建高端对话平台&#xff0c;促进产学研深度融合。在大算力时代——AI技术前沿沙龙上&#xff0c;中科驭数高级副总裁、CTO卢文岩博士受邀分享《DPU——连接算…

Mac | Mac 移动硬盘无法分区问题

现象问题 电脑配置&#xff1a;MacBook Pro M1&#xff0c;系统 Sonoma Mac 系统新升级了 Sonoma&#xff0c;结果出现各种问题。外接屏幕居然不能旋转 90 &#xff0c;查了一下是Sonoma系统导致的&#xff0c;以及莫名发热的问题。想着要么回退一下系统算了&#xff0c;于是网…

unity3D获取某天的0点和23点59分59秒

系列文章目录 unity工具 文章目录 系列文章目录unity工具 &#x1f449;一、前言&#x1f449;二、获取某一天的0点和23点59分59秒1-1.代码如下1-2.调用方法如下1-2-1.获取当天的时间1-2-2.获取某一天的时间 &#x1f449;三、当月第一天0时0分0秒&#x1f449;四、当月最后一…

3D点云焊缝提取 平面交线 投影

文章目录 1. 效果2. 思路3. 源码 1. 效果 2. 思路 计算点云法向量&#xff1b;计算点云位姿Pose;翻转Pose中的Z轴方向&#xff0c;使其一致&#xff1b;通过Pose的Z轴对点云进行方向过滤&#xff1b;对点云聚类&#xff1b;根据目标点云的高度提取目标点云&#xff1b;提取两块…

从 0 开始实现一个博客系统 (SSM 项目)

相关技术 Spring Spring Boot Spring MVC MyBatis Html Css JS pom 文件我就不放出来了, 之前用的 jdk8 做的, MySQL 用的 5.7, 都有点老了, 你们自己看着配版本就好 实现功能 用户注册 - 密码加盐加密 (md5 加密)前后端用户信息存储 - 令牌技术用户登录 - (使用 拦截…

外汇天眼:风险预警!以下平台监管牌照被撤销!

监管信息早知道&#xff01;外汇天眼将每周定期公布监管牌照状态发生变化的交易商&#xff0c;以供投资者参考&#xff0c;规避投资风险。如果平台天眼评分过高&#xff0c;建议投资者谨慎选择&#xff0c;因为在外汇天眼评分高不代表平台没问题&#xff01; 以下是监管牌照发生…

DISCO: Disentangled Control for Realistic Human Dance Generation

NTU&Microsoft CVPR24https://github.com/Wangt-CN/DisCo 问题引入 提高human motion transfer模型的泛化性&#xff1b;给出 f , g f,g f,g作为参考图片的前背景&#xff0c;然后给出单个pose p p t pp_t ppt​或者pose序列 p { p 1 , p 2 , ⋯ , p T } p \{p_1,p_2…

流水账(CPU设计实战)——lab3

Lab3 Rewrite V1.0 版本控制 版本描述V0V1.0相对V0变化&#xff1a; 修改了文件名&#xff0c;各阶段以_stage结尾&#xff08;因为if是关键词&#xff0c;所以module名不能叫if&#xff0c;遂改为if_stage&#xff0c;为了统一命名&#xff0c;将所有module后缀加上_stage&a…

杭州威雅学校:在学业与生活平衡中找到更好的自己

进入威雅杭州校园&#xff0c; 沿湖边小道步行约5分钟&#xff0c; 四栋寄宿学院与教学区隔湖相望&#xff0c; 威雅人更喜欢叫他们&#xff1a; 「Cavell」&「Dove」 「Elgar」&「Hawking」 提起「寄宿制」&#xff0c;人们本能地会把它和「住校」划等号。 这种…

css中实现背景方格

background: rgba(241,241,241,0.1); background-image:linear-gradient(90deg, rgba(241,243,244,1) 10%, transparent 0),linear-gradient(rgba()241,243,244,1 10%, transparent 0); background-size: 10px 10px; 表现出来的样子就是这个样子

96.网络游戏逆向分析与漏洞攻防-ui界面的设计-角色管理功能的界面设计

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

机器之心 | 清华接手,YOLOv10问世:性能大幅提升,登上GitHub热榜

本文来源公众号“机器之心”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;清华接手&#xff0c;YOLOv10问世&#xff1a;性能大幅提升&#xff0c;登上GitHub热榜 相同性能情况下&#xff0c;延迟减少 46%&#xff0c;参数减少 2…