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

Leetcode2414:最长的字母序连续子字符串的长度

 题目描述:

字母序连续字符串 是由字母表中连续字母组成的字符串。换句话说,字符串 "abcdefghijklmnopqrstuvwxyz" 的任意子字符串都是 字母序连续字符串 。

  • 例如,"abc" 是一个字母序连续字符串,而 "acb" 和 "za" 不是。

给你一个仅由小写英文字母组成的字符串 s ,返回其 最长 的 字母序连续子字符串 的长度。

代码思路:

  1. 初始化变量
    • left 和 right:这两个变量分别表示当前考察的连续子字符串的左右边界。初始时,left 设为 0,right 设为 1,表示从字符串的第二个字符开始向右扩展考察。
    • ans:用来记录目前找到的最长的字母序连续子字符串的长度。初始时,由于每个字符自身都可以看作是一个长度为 1 的连续子字符串,所以 ans 设为 1。
  2. 遍历字符串
    • 使用一个 while 循环遍历字符串,直到 right 达到字符串的长度。
    • 在循环内部,首先检查当前字符 s[right] 和前一个字符 s[right - 1] 是否是连续的(即 ord(s[right]) - ord(s[right - 1]) == 1)。这里 ord() 函数用于获取字符的 ASCII 值。
  3. 更新最长长度
    • 如果当前字符和前一个字符是连续的,则更新 ans 为当前考察的子字符串长度(right - left + 1)和之前记录的最长长度 ans 中的较大值。
    • 如果当前字符和前一个字符不连续,则将 left 更新为 right,表示重新开始考察一个新的连续子字符串。
  4. 移动右边界
    • 无论是否连续,每次循环都将 right 加 1,以继续向右扩展考察。
  5. 返回结果
    • 当 right 遍历完整个字符串后,返回 ans,即最长的字母序连续子字符串的长度。

代码实现:

class Solution:def longestContinuousSubstring(self, s: str) -> int:left, right = 0, 1ans = 1while right < len(s):if ord(s[right]) - ord(s[right - 1]) == 1:ans = max(ans, right - left + 1)else:left = rightright += 1return ans

相关文章:

Leetcode2414:最长的字母序连续子字符串的长度

题目描述&#xff1a; 字母序连续字符串 是由字母表中连续字母组成的字符串。换句话说&#xff0c;字符串 "abcdefghijklmnopqrstuvwxyz" 的任意子字符串都是 字母序连续字符串 。 例如&#xff0c;"abc" 是一个字母序连续字符串&#xff0c;而 "ac…...

React(12)案例前期准备

1、创建项目 npx creat-react-app xxx 这里注意 react版本过高会导致antd组件无法安装 需要手动修改pagejson文件中的react和react-demo版本号为 18.2.0 npm i 在配置别名路径 创建craco文件 const path require("path"); module.exports {webpack: {alias: …...

2025年2月28日(RAG)

从图片中的内容来看&#xff0c;用户提到的“RAG”实际上是“Retrieval-Augmented Generation”的缩写&#xff0c;中文称为“检索增强生成”。这是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;的技术&#xff0c;用于增强自然语…...

python-leetcode-寻找重复数

287. 寻找重复数 - 力扣&#xff08;LeetCode&#xff09; class Solution:def findDuplicate(self, nums: List[int]) -> int:# Step 1: 找到环的相遇点slow nums[0]fast nums[0]# 使用快慢指针&#xff0c;直到相遇while True:slow nums[slow] # 慢指针走一步fast nu…...

Vue 3 中,如果 public 目录下的 .js 文件中有一个函数执行后生成数据,并希望将这些数据传递到组件中

在 Vue 3 中&#xff0c;如果 public 目录下的 .js 文件中有一个函数执行后生成数据&#xff0c;并希望将这些数据传递到组件中&#xff0c;可以使用 window.postMessage&#xff0c;但需要结合具体场景。以下是不同方法的详细说明&#xff1a; 方法 1&#xff1a;使用 window…...

ai大模型自动化测试-TensorFlow Testing 测试模型实例

AI大模型自动化测试是确保模型质量、可靠性和性能的关键环节,以下将从测试流程、测试内容、测试工具及测试挑战与应对几个方面进行详细介绍: 测试流程 测试计划制定 确定测试目标:明确要测试的AI大模型的具体功能、性能、安全性等方面的目标,例如评估模型在特定任务上的准…...

初阶MySQL(两万字全面解析)

文章目录 1.初识MySQL1.1数据库1.2查看数据库1.3创建数据库1.4字符集编码和排序规则1.5修改数据库1.6删除数据库 2.MySQL常用数据类型和表的操作2.(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型 2.(二)表的操作1查看指定库中所有表2.创建表 3.查看表结构和查看表…...

数据库数据恢复—SQL Server附加数据库报错“错误 823”怎么办?

SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”&#xff0c;附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份&#xff0c;备份时间太久&#xff0c;或者其他原因导致备份不可用&#xff0c;那么就需要通过专业手段对数据库进行数据恢复…...

SpringBatch简单处理多表批量动态更新

项目需要处理一堆表&#xff0c;这些表数据量不是很大都有经纬度信息&#xff0c;但是这些表的数据没有流域信息&#xff0c;需要按经纬度信息计算所属流域信息。比较简单的项目&#xff0c;按DeepSeek提示思索完成开发&#xff0c;AI真好用。 阿里AI个人版本IDEA安装 IDEA中使…...

夜莺监控 - 边缘告警引擎架构详解

前言 夜莺类似 Grafana 可以接入多个数据源&#xff0c;查询数据源的数据做告警和展示。但是有些数据源所在的机房和中心机房之间网络链路不好&#xff0c;如果由 n9e 进程去周期性查询数据并判定告警&#xff0c;那在网络链路抖动或拥塞的时候&#xff0c;告警就不稳定了。所…...

18440二维差分

18440二维差分 ⭐️难度&#xff1a;中等 &#x1f4d6; &#x1f4da; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int m scanner.nextInt();int q scanne…...

安全传输,高效共享 —— 体验FileLink的跨网文件传输

在当今数字化转型的浪潮中&#xff0c;企业在进行跨网文件传输时面临诸多挑战&#xff0c;包括数据安全、传输速度和用户体验等。为了解决这些问题&#xff0c;FileLink应运而生&#xff0c;成为一款高效、安全的跨网文件传输解决方案。 一、FileLink的核心特点 1.加密技术 …...

SOME/IP 教程知识点总结

总结关于SOME/IP的教程,首先通读整个文件,理解各个部分的内容。看起来这个教程从介绍开始,讲到了为什么在车辆中使用以太网,然后详细讲解了SOME/IP的概念、序列化、消息传递、服务发现(SOME/IP-SD)、发布/订阅机制以及支持情况。 首先,我需要确认每个章节的主要知识点。…...

学习路程八 langchin核心组件 Models补充 I/O和 Redis Cache

前序 之前了解了Models&#xff0c;Prompt&#xff0c;但有些资料又把这块与输出合称为模型输入输出&#xff08;Model I/O&#xff09;‌&#xff1a;这是与各种大语言模型进行交互的基本组件。它允许开发者管理提示&#xff08;prompt&#xff09;&#xff0c;通过通用接口调…...

图书数据采集:使用Python爬虫获取书籍详细信息

文章目录 一、准备工作1.1 环境搭建1.2 确定目标网站1.3 分析目标网站二、采集豆瓣读书网站三、处理动态加载的内容四、批量抓取多本书籍信息五、反爬虫策略与应对方法六、数据存储与管理七、总结在数字化时代,图书信息的管理和获取变得尤为重要。通过编写Python爬虫,可以从各…...

【DeepSeek系列】05 DeepSeek核心算法改进点总结

文章目录 一、DeepSeek概要二、4个重要改进点2.1 多头潜在注意力2.2 混合专家模型MoE2.3 多Token预测3.4 GRPO强化学习策略 三、2个重要思考3.1 大规模强化学习3.2 蒸馏方法&#xff1a;小模型也可以很强大 一、DeepSeek概要 2024年&#xff5e;2025年初&#xff0c;DeepSeek …...

安装pointnet2-ops库

由于服务器没有连网&#xff0c;现在已在github中下载pointnet2_ops文件包并上传到服务器 &#xff08;首先保证cuda版本和pytorch版本对应&#xff09; 如何查找cuda的安装路径&#xff1a; 然后执行安装命令即可。...

DO-254航空标准飞行器电机控制器设计注意事项

DO-254航空标准飞行器电机控制器设计注意事项 1.核心要求1.1 设计保证等级(DAL)划分1.2生命周期管理1.3验证与确认2.电机控制器硬件设计的关键注意事项2.1需求管理与可追溯性2.2冗余与容错设计2.3验证与确认策略2.4元器件选型与管理2.5环境适应性设计2.6文档与配置管理3.应用…...

ABAP语言的动态程序

通过几个例子&#xff0c;由浅入深讲解 ABAP 动态编程。ABAP 动态编程主要通过 RTTS (Runtime Type Services) 来实现&#xff0c;包括 RTTI 和 RTTC: 运行时类型标识&#xff08;RTTI&#xff09; – 提供在运行时获取数据对象的类型定义的方法。运行时类型创建&#xff08;R…...

开源电商项目、物联网项目、销售系统项目和社区团购项目

以下是推荐的开源电商项目、物联网项目、销售系统项目和社区团购项目&#xff0c;均使用Java开发&#xff0c;且无需付费&#xff0c;GitHub地址如下&#xff1a; ### 开源电商项目 1. **mall** GitHub地址&#xff1a;[https://github.com/macrozheng/mall](https://git…...

CarSim与Simulink联合仿真失败排查指南:从COM接口到路径配置

1. 联合仿真失败的常见症状与初步诊断 最近在搭建CarSim和Simulink联合仿真环境时&#xff0c;遇到了不少让人头疼的问题。明明按照教程一步步操作&#xff0c;却总是出现各种莫名其妙的错误。最常见的情况是&#xff1a;Simulink能打开&#xff0c;但一运行仿真就报错&#xf…...

Python下载指南:x86、amd64、ARM、32位、64位到底怎么选?

Python下载指南&#xff1a;x86、amd64、ARM、32位、64位到底怎么选&#xff1f; 在下载 Python&#xff08;或其他软件&#xff09;时&#xff0c;你是否对着满屏的 x86、amd64、ARM64、32-bit、64-bit 感到头大&#xff1f; 别担心&#xff0c;这些术语其实只代表两个核心维度…...

Spring - 循环依赖

一、循环依赖概览1.1 什么是循环依赖&#xff1f;循环依赖是指两个或多个 Bean 之间互相持有对方引用&#xff0c;形成闭环。例如 A 依赖 B&#xff0c;B 又依赖 A。A 依赖 BB 依赖 A1.2 循环依赖的三种类型// 类型1&#xff1a;构造器注入的循环依赖&#xff08;无法解决&…...

【问题修复】ubuntu24.04打不开windows的D盘

目录1 问题描述2 解决方法2.1 重新挂载1 问题描述 在ubuntu24.04上&#xff0c;打不开windows系统中D盘。 2 解决方法 2.1 重新挂载 sudo ntfsfix /dev/nvme0n1p5 sudo mount /dev/nvme0n1p5 /mnt #挂载到/mnt上...

避坑指南:Pandas处理NaN时90%人会犯的5个错误(附正确用法)

避坑指南&#xff1a;Pandas处理NaN时90%人会犯的5个错误&#xff08;附正确用法&#xff09; 在数据分析的日常工作中&#xff0c;Pandas库无疑是Python生态中最强大的工具之一。但当我们面对真实世界杂乱无章的数据时&#xff0c;缺失值处理往往成为新手进阶路上的第一个绊脚…...

西门子S7_200PLC与MCGS组态在污水处理控制设计中的应用

西门子S7_200PLC和MCGS组态的污水处理控制设计老铁们今天咱们唠点实在的工业自动化应用&#xff0c;污水处理厂里那套S7-200和MCGS组态配合的骚操作。这玩意儿可不是课本上那些理论&#xff0c;是实打实在某县污水处理站跑了两年的成熟方案。先说核心控制逻辑&#xff0c;五个污…...

人工智能如何悄然重塑我们的日常生活(从身边小事谈起)

1. 早晨被AI温柔唤醒的每一天 清晨6:30&#xff0c;我的卧室窗帘自动缓缓拉开到45度角&#xff0c;这个精确的角度是AI根据季节和天气预报计算出的最佳采光位置。床头的小爱同学用比上周低沉3%的嗓音说&#xff1a;"今天空气质量优&#xff0c;建议步行上班。"这个细…...

健壮的容错机制:让Agent优雅降级与自动恢复

健壮的容错机制&#xff1a;让Agent优雅降级与自动恢复 关键词&#xff1a; Agent容错、优雅降级、自动恢复、多Agent系统、心跳检测、重试策略、状态一致性、故障隔离、自适应调节、系统可靠性摘要 在人工智能与软件工程深度融合的当下&#xff0c;自主智能体&#xff08;Agen…...

Android Topeka数据模型设计终极指南:Quiz、Category与Player类深度解析

Android Topeka数据模型设计终极指南&#xff1a;Quiz、Category与Player类深度解析 【免费下载链接】topeka A fun to play quiz that showcases material design on Android 项目地址: https://gitcode.com/gh_mirrors/to/topeka Topeka是一款基于Material Design的An…...

Cursor AI 试用限制的技术突破与自动化解决方案

Cursor AI 试用限制的技术突破与自动化解决方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request limit.…...