leetcode_6: 报数(38)、最大子序和(53)、最后一个单词的长度(58)

发布时间:2026/9/17 0:53:33

leetcode_6: 报数(38)、最大子序和(53)、最后一个单词的长度(58) 1.报数38报数序列是一个整数序列按照其中的整数的顺序进行报数得到下一个数。其前五项如下1. 12. 113. 214. 12115. 1112211 被读作 one 1 (一个一) , 即 11。11 被读作 two 1s (两个一, 即 21。21 被读作 one 2, one 1 一个二 , 一个一) , 即 1211。给定一个正整数 n1 ≤ n ≤ 30输出报数序列的第 n 项。注意整数顺序将表示为一个字符串。这道题不是很好理解其就是根据上一个数的描述来写出下一个数比如1211的描述是 1个1、1个2、2个1那么下一个数就是111221思路每次外循环含义为给定上一个人报的数求下一个人报的数每次内循环为遍历上一个人报的数具体思路先设置上一人为1开始外循环每次外循环先置下一人为空字符串置待处理的字符num为上一人的第一位置记录出现的次数为1开始内循环遍历上一人的数如果数是和num一致则count增加。若不一致则将count和num一同添加到next_person报的数中同时更新num和count别忘了更新next_person的最后两个数为上一个人最后一个字符以及其出现次数class Solution: def countAndSay(self, n: int) - str: last_per 1 for i in range(1,n): next_per first last_per[0] count 1 for j in range(1,len(last_per)): if last_per[j] first: count 1 else: next_per str(count) first count 1 first last_per[j] next_per str(count) first last_per next_per return last_per参考链接https://leetcode-cn.com/problems/count-and-say/solution/ji-su-jie-bu-di-gui-zhi-ji-lu-qian-hou-liang-ren-p/2.最大子序和53给定一个整数数组nums找到一个具有最大和的连续子数组子数组最少包含一个元素返回其最大和。思路动态规划首先对数组进行遍历当前最大连续子序列和为 sum结果为 ans如果 sum 0则说明 sum 对结果有增益效果则 sum 保留并加上当前遍历数字如果 sum 0则说明 sum 对结果无增益效果需要舍弃则 sum 直接更新为当前遍历数字每次比较 sum 和 ans的大小将最大值置为ans遍历结束返回结果class Solution: def maxSubArray(self, nums: List[int]) - int: sum_sublist 0; #最大连续子序列的和 ans nums[0] #最终的结果 for i in range(len(nums)): if sum_sublist 0: #如果大于0则对结果有增益 sum_sublist nums[i] else: sum_sublist nums[i] #小于0则对结果无增益从新的元素开始 ans max(ans,sum_sublist) return ans参考链接https://leetcode-cn.com/problems/maximum-subarray/solution/hua-jie-suan-fa-53-zui-da-zi-xu-he-by-guanpengchn/3.最后一个单词的长度58给定一个仅包含大小写字母和空格 的字符串返回其最后一个单词的长度。如果不存在最后一个单词请返回 0 。说明一个单词是指由字母组成但不包含任何空格的字符串。思路把字符串首尾的空格去掉排除尾部含有空格的字符串得到的字符串有两种情况空的字符串长度为0这类字符它的最后面不存在单词直接return 0;不空的字符串长度不为0 它的最后一个单词为s.split( )[-1]直接返回这个单词的lengthclass Solution: def lengthOfLastWord(self, s: str) - int: s s.rstrip() if len(s) ! 0: return len(s.split( )[-1]) else: return 0知识点rstrip() 方法用于移除字符串尾指定的字符默认为空格或换行符或字符序列。split()通过指定分隔符对字符串进行切片如果参数 num 有指定值则分隔 num1 个子字符串. str.split(str, numstring.count(str)).不使用内置函数的解法使用一个标志位来判断当前找到的空格是否是尾部的。如果不是说明尾部单词记录完毕如果是则继续往前遍历。class Solution: def lengthOfLastWord(self, s: str) - int: count 0 flag 0 for i in range(len(s)-1,-1,-1): if s[i] ! : #当从尾部找到字母则标志位置1 count 1 flag 1 if s[i] and flag 0: #如果是尾部的空格则继续向前遍历 continue if s[i] and flag 1: #不是尾部的空格说明最后一个单词记录完毕跳出。 break return count参考链接https://leetcode-cn.com/problems/length-of-last-word/solution/zui-hou-yi-ge-dan-ci-de-chang-du-by-balconyang/
延伸阅读

更多相关文章

2026/9/13 4:29:48

git相关的常用命令(二)

git相关的常用命令(二)摘要\quad\quad创建github仓库,并将代码提交至仓库中,获取本机的SSH Key,将代码push到仓库中。持续更新中… 本文中用到的Git命令: 命令[ 鼠标点击命令可直接查看内容]作用ssh-keygen…

2026/9/15 18:19:51

三步轻松转换B站缓存视频:m4s-converter完整使用指南

三步轻松转换B站缓存视频:m4s-converter完整使用指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经收藏或缓存了B站上的…

2026/9/17 0:48:48

SpringBoot微服务实战:天气API聚合、响应式调用与JPA持久化

简介:这是一份面向Java后端初学者与SpringBoot入门开发者的实战型天气预报系统源码,聚焦RESTful接口开发、第三方API集成及前后端基础交互,帮助学习者掌握企业级Web应用的快速搭建流程。资源共25个文件,包含19个Java类&#xff08…

2026/9/17 0:48:48

Llama3-70B部署优化:SGLang与vLLM性能对比与实战

1. 项目背景与核心挑战在大模型技术快速发展的当下,如何高效部署和推理大型语言模型已成为行业痛点。最近我在三个不同规模的GPU集群上完成了Llama3-70B的部署优化,对比测试了SGLang和vLLM两个主流推理框架的性能表现,期间踩过的坑足够写本技…

2026/9/17 0:48:48

数据标准量化评价体系构建与实践

1. 项目概述:当数据标准遇上落地难题在数字化转型浪潮中,几乎所有企业都在高喊"数据是核心资产"的口号。但真实情况往往是:花大价钱制定的数据标准文档在评审会上获得满堂彩,实际业务场景中却遭遇"水土不服"。…

2026/9/17 0:48:48

自然语言处理中上下文长度的技术解析与应用实践

1. 上下文长度的本质解析上下文长度(Context Length)在自然语言处理领域指的是模型能够同时考虑和处理的文本范围。这个看似简单的技术参数,实际上决定着AI模型理解人类语言的深度和广度。1.1 技术定义与计算方式从技术实现角度看&#xff0c…

2026/9/17 0:43:48

基于Vue3的PSD解析在线设计器:拖入浏览器即可编辑图层

简介:这款基于Vue的PSD解析在线设计器源码,面向需要搭建轻量设计工具或实现PSD导入解析的前端开发者,可复用于海报、广告、Logo、AI图像合成等创作场景,也能快速生成二维码海报、电商产品图、节日活动物料与名片设计。压缩包共382…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/17 0:03:13

WiFi密码安全测试:从原理到实战的字典暴力破解指南

1. 写在前面:我为什么要研究WiFi密码这件事先交代一下背景。我身边有不少朋友,家里的WiFi密码常年是"12345678"或者"88888888",问就是"好记"。直到有一次,隔壁邻居蹭网蹭到我家路由器后台都进不去&…

2026/9/17 0:03:13

redis-py服务控制与监控函数实战:从ping到slowlog的巡检指南

我用 redis-py 写了快五年的业务代码,坦白说,真正让我觉得这个客户端“像一个成熟工具箱”的,不是 get/set 那套基本操作,而是它那批专门做服务控制与状态监控的辅助函数。日常开发里,大家把redis.Redis(host..., deco…

2026/9/17 0:03:13

SpringBoot+Vue3实现中小企业设备管理系统开发实践

1. 项目概述与核心价值中小企业设备管理系统是制造业、服务业等领域的基础信息化工具。传统设备管理往往依赖Excel表格或纸质记录,存在数据孤岛、流程混乱、维护成本高等痛点。这套基于Java SpringBootVue3MyBatis的技术方案,通过前后端分离架构实现了设…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码