LeetCode刷题---简单组(五)

Leetcode-How-What 力扣Leetcode刷题指南 Leetcode-How-What 力扣Leetcode刷题指南 About the way how to use Leetcode wisely for preparing the interview and the solutions to some Leetcode problems’. 怎样为准备面试机智聪明的刷题(高效刷题)以及一些题目的题解。 同 github 链接: https:/... 阅读详情

🍒题目一 58. 最后一个单词的长度

请添加图片描述
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:

输入:s = “Hello World”
输出:5
解释:最后一个单词是“World”,长度为5。
示例 2:

输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为4。
示例 3:

输入:s = “luffy is still joyboy”
输出:6
解释:最后一个单词是长度为6的“joyboy”。


🍒解法一

自己写的,比较der

class Solution(object):
    def lengthOfLastWord(self, s):
        """
        :type s: str
        :rtype: int
        """
        count = 0
        ls = []
        s = s.strip()
        if ' ' not in s:
            return len(s)
       
        for i in range(-1,-len(s),-1):
            if s[i] == ' ':
                break
            ls.append(s[i])
            count +=1
        str1 = ''.join(ls[::-1])
        return count

使用strip给字符串收尾去空格,之后判断如果去重后的字符串里没有空格了,俺就说明是一个单词,返回单词长度即可,否则从后进行遍历,遇到第一个空格退出循环,使用count进行长度计数


🍒解法二


class Solution(object):
  def lengthOfLastWord(self, s):
      """
      :type s: str
      :rtype: int
      """
      return len(s.strip().split(" ")[-1])

strip去收尾空格后使用split进行分割为一个列表,选择最后一个,妙哉~


🍒题目二 66. 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:

输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:

输入:digits = [0]
输出:[1]

注意这里最好看英文,中文有点难理解
You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most significant to least significant in left-to-right order. The large integer does not contain any leading 0’s.

Increment the large integer by one and return the resulting array of digits.
Example 1:

Input: digits = [1,2,3]
Output: [1,2,4]
Explanation: The array represents the integer 123.
Incrementing by one gives 123 + 1 = 124.
Thus, the result should be [1,2,4].
Example 2:

Input: digits = [4,3,2,1]
Output: [4,3,2,2]
Explanation: The array represents the integer 4321.
Incrementing by one gives 4321 + 1 = 4322.
Thus, the result should be [4,3,2,2].
Example 3:

Input: digits = [9]
Output: [1,0]
Explanation: The array represents the integer 9.
Incrementing by one gives 9 + 1 = 10.
Thus, the result should be [1,0].

🍒解法一

来自某位大佬的题解

class Solution:
    def plusOne(self, digits):
        digits[-1]+= 1 
        for i in range(-1,-len(digits),-1):
            if digits[i] == 10:
                digits[i] = 0
                digits[i-1]+=1
        if digits[0] ==10: 
            digits[0]=0
            digits.insert(0,1)   
        return digits 

这里我解释一下,首先给最后一位+1
之后使用for循环,从后往前对每一位进行判断,是否等于10,若等于则将当前位置置为0,前一位置为1,若例子如999这样的,那么第一位在经过循环处理后为10,则需要使用insert开辟一个单位。

🍒题目三 67. 二进制求和

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

示例 1:

输入:a = “11”, b = “1”
输出:“100”
示例 2:

输入:a = “1010”, b = “1011”
输出:“10101”

🍒解法一

class Solution(object):
    def addBinary(self, a, b):
        len1 = len(a)
        len2 = len(b)

        if len1 < len2:
            a = '0' * (len2 - len1) + a
        elif len2 < len1:
            b = '0' * (len1 - len2) + b

        digits = list(a)  # 创建一个列表来存储结果
        carry = 0  # 初始化进位

        for i in range(len(digits) - 1, -1, -1):
            digit_sum = int(a[i]) + int(b[i]) + carry
            digits[i] = str(digit_sum % 2)  # 计算当前位的值
            carry = digit_sum // 2  # 计算进位

        if carry:  # 如果最高位有进位,需要在最前面加上 '1'
            digits.insert(0, '1')

        return ''.join(digits)  # 将列表转换为字符串

请添加图片描述


挑战与创造都是很痛苦的,但是很充实。

LeetCode刷题攻略 应届生面试算法就考个数组 链表 二叉树 矩阵 数组变着法子考你排序 查询 指针 位运算 链表变着法子考你指针 最多再考个哈希 二叉树变着法子考用递归和栈前中后遍历 最多加上回溯 矩阵的话就是知道起点的路径查询和不知道起点的路径查询 掌握了这些 面大厂就比较轻松了 其实和学历技术关系也不大 大部分人先死到想都不敢想上了。 据了解,LeetCode 是一个非常棒的 OJ(Online Judge)平台,收集了许多公司的面试题目。相对其他 OJ 平台而言,有着下面的几个优点: 题目全部来自业内大公司的真. 阅读详情

相关推荐

1024,给大家谈谈如何搞透刷题 玩转力扣!

前言 大家好,我是bigsai,好久不见!今天1024,祝大家程序员节快乐,写代码永没bug!今天就给各位小伙伴分享我自己刷题力扣的一些小方法,不一定很有用但是可以参考,祝你更高效的变强! 最近在一些群聊、私聊中遇到很多的一个问题就是:刷题,大家也都重视到算法刷题对冲击大厂的重要性,越来越多的人开始卷起来了! 但有的人是这样卷起来的,卷的自己都懵了。 今天,我就给偏初学者的各种问题谈谈个人刷力扣这方面的观点。 刷哪些题? 大家刷力扣,目标肯定就是为了冲击大厂的面试笔试,小部分就是为了坚持刷题保持感觉提升

bigsai 4293

Leetcode 58. 最后一个单词的长度

给定一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

swerfse的博客 1099

最后一个单词长度

某互联网公司招聘笔试题,基础c语言代码,20分钟之内,用c语言实现计算输入内容中最后一个单词的长度

算法题---最后一个单词的长度(乐乐独记)

1、题目描述 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个 单词的长度。 单词是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = “Hello World” 输出:5 解释:最后一个单词是“World”,长度为5。 示例 2: 输入:s = " fly me to the moon " 输出:4 解释:最后一个单词是“moon”,长度为4。 示例 3: 输入:s = “luffy is still joyb

qq_41931364的博客 555

leetcode-58. 最后一个单词的长度

题目 给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。 示例: 输入: “Hello World” 输出: 5 来源:力扣(LeetCode) 链接:58. 最后一个单词的长度 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 分析 此题比较简单,只要知道最后一个单词前面的空格的位置即可,可以从字符串后面往前依次判断字符是否为空格,并且记录不是空格的字符数,这个数字即是所

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下

weixin_41855010的博客 7114

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

的计算方法是,用指针 p 所指向的地址减去指针 str 所指向的地址,得到它们之间的地址差值,这个差值的单位是字符的大小(通常是一个字节),也就是说,它们之间相差了多少个字符。在这个特定的例子中,p 指向字符串 str 中最后一个 'o' 的位置,而 str 是字符串的首地址,所以。函数的返回值,如果在字符串中找到了指定的字符,则返回该字符在字符串中最后一次出现的位置的指针;中最后一个字符 'o' 的指针,具体来说,它指向字符串中的第 8 个字符,因为在字符串中,字符的索引从 0 开始计数。

qq_44732869的博客 1682

CentOS 7下Ollama+Dify+DeepSeek离线部署全攻略(附模型迁移技巧)

本文详细介绍了在CentOS 7无网环境下,从零开始离线部署Ollama、DeepSeek模型与Dify平台的完整实战攻略。内容涵盖基础环境规划、Ollama服务安装、模型文件迁移技巧、Docker引擎离线部署,以及Dify平台与本地Ollama服务的集成配置,为企业内网构建安全、可控的AI应用提供了一套经过验证的解决方案。

weixin_28826521的博客 349

LeetCode每日一题 (58. 最后一个单词的长度)

58. 最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5。示例 2: 输入:s = " fly me to the moon " 输出:4 解释:最后一个单词是“moon”,长度为4。示例 3: 输入:s = "luffy is stil...

weixin_51755941的博客 1594

关于获取CISP-PTE一些避坑经历

考场内是不允许携带外设键盘的,现场会至少有一个360安全专业人员监考.所有人电脑都会提前装一个奇安信的一个考试exe,刚开始的时候会让你连接一个WIFI,我们将会通过WIFI进行做题,做题期间你的电脑将被全程监控并且一些退出快捷键也是全部锁死(有点像勒索病毒那种界面),想要重启必须直接拔电源。中途可以上厕所,需要监考官陪同

6322

机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾

f作者: 寒小阳 &&龙心尘 时间:2015年10月。 出处: 声明:版权所有,转载请注明出处,谢谢。手把手机器学习之逻辑回归应用——Kaggle泰坦尼克之灾1.引言先说一句,年末双十一什么的一来,真是非(mang)常(cheng)欢(gou)乐(le)!然后push自己抽出时间来写这篇blog的原因也非常简单: 写完前两篇逻辑回归的介绍和各个角度理解之后,小伙伴们纷纷表示『好像很高级的样纸,

寒小阳 43万+

LeetCode题58: 5种算法实现最后一个单词的长度【python】

本文介绍了五种解决策略:直接字符串处理、反向遍历、正则表达式匹配、内置函数优化和库函数结合,详细讨论了各方法的实现、时间和空间效率,并比较了它们的优劣势。

10年数据\经营分析经验,现任大厂数据分析负责人 1232

从零开始STM32cubeide学习

使用的是正点原子的精英版,单片机是STM32F103ZET6,详细讲解完成跑马灯实验

weixin_44077208的博客 2280

力扣(LeetCode)怎么刷题,以排序算法为例

掌握 LeetCode 刷题方法再开始刷题,属于磨刀不误砍柴工。掌握正确方法是非常重要的。 如果你在刷题的时候发现怎么也写不出来,别担心,这是正常的。如果你还发现,之前明明刷过的题,过段时间再做的时候,自己还是不会。别担心,这也是正常的。 在这我分享一下我的刷题经验,希望对你有帮助。如果你时间比较紧迫,为了找工作而刷题,我建议你先刷热门推荐,一共两百多道题。 在 LeetCode中文版 页面的右侧。先刷热题 HOT 100,再刷精选 TOP 面试题,之后刷其他的题。 如果你时间比较充裕,那我建议

Allenzyg的博客 1万+

【电源专题】Type-C母座外壳直接接主板GND还是接RC呢?别再纠结了!

Type-C屏蔽壳接地这件事,没有唯一标准答案。符合规范、贴合产品、能过认证,就是最优解。希望这篇文章能帮你理清思路。

一点硬件 601

深入剖析 YOLOv11 中的 C2PSA 注意力机制

YOLOv11中的C2PSA注意力机制在目标检测领域取得突破性进展。该机制通过跨通道分组交互和轻量级位置编码,在仅增加0.6%计算量的情况下提升mAP 1.5-2.3个百分点。C2PSA创新性地结合局部跨通道交互、位置编码和双分支并行调制,采用纯卷积实现自注意力,避免传统注意力机制的高计算复杂度。实验表明,C2PSA在COCO数据集上以微小计算代价显著提升检测性能,特别是对小目标和遮挡目标效果突出。该模块可直接嵌入YOLO架构,为轻量级目标检测提供新的优化方向。

shrgegrb的博客 3397

力扣刷题之准备工作

在刷算法题的过程中进行总结是非常重要的,它可以帮助你梳理思路、加深理解、记录学习成果,并提升解题能力。每天回顾:在每天结束时,对当天解决的题目进行回顾。检查解决方案的正确性,并思考是否有更优化的方法。记录下遇到的难点和解决方法,以及学到的新知识点和技巧。整理这些笔记并归档到适当的分类中,以便今后参考。每周汇总:在每周末或开始新一周时进行总结。复习过去一周解决的题目,分析解题过程中使用的算法和数据结构。总结你学到的关键知识点、解题技巧和模式,并将其整理到博客中。

weixin_47040031的博客 9754

基于STM32设计的猪舍养殖的监控系统_325

本课题基于STM32单片机,设计一款能够实时监测猪舍环境的智能监控系统。该系统能够通过温湿度、空气质量、光照强度等传感器实时监测猪舍的环境,并能够通过自动化控制设备(如风扇、照明灯、消毒喷雾等)调节环境参数,确保养殖环境的适宜性。同时,系统还支持通过ESP8266模块实现数据上传与远程控制,使养殖管理者能够通过手机APP或计算机远程监控和控制猪舍环境。

408

LeetCode刷题顺序

简介 是不是有许多小伙伴在刷力扣的时候感觉无从下手?从头按顺序开始刷的童鞋们可能会比较有感触,为什么才第四题就感觉很难了?没关系,本文将对力扣的 1-700 题中不需要会员的数据结构与算法题目(数据库与 shell 除外)进行分类,并推荐一个刷题的顺序。 完全零基础可以刷题吗? 不能,至少要基本掌握一门计算机语言的语法。但现在在网上随便搜一下就能搜到许多关于计算机语言的教程。当然,最好还是上一下正规的课程。 刷题顺序很重要吗? 重要。按照题目类别结构化地刷题的速度不仅更快,而且可以在刷完一类题之后进行总

qq_42548880的博客 8906

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Leetcode刷题修炼手册

我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~ 任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~ “跟着...

Machine Learning with Tutors 5万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LeetCode刷题指南

力扣,作为一个国内外的程序员都用作准备面试的刷题网站,对想要阅读这篇指南的你应该都不陌生。当你想要借助力扣刷题,提升代码能力、在面试中脱颖而出,却不知从何入手,这篇文章可以作为你的入门指南。

airhaohan 的博客 8990

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

刷题新手必看!如何简单快速地入坑leetcode!

那么我们在这里会分为三个阶段:新手——入门——老手。

weixin_71529728的博客 1万+

【python力扣刷题经验分享】——从初入力扣到上分变强!!!

在力扣的异世界里不断升级!

2301_80269840的博客 6409

Leetcode刷题指南

参考:https://blog.youkuaiyun.com/qq_39521554/article/details/79160815   二、刷题方法 方法一:按照题目出现频率刷题 顺序参考文章最后的部分 方法二:标签法 按照网站给大家排列的不同tags,起到模块化的复习和学习作用。举个例子:比如复习链表的内容,就选Linked List这部分的23个题目。刷完之后可以再总结一下常用的方法和数据结...

mmc2015的专栏 1万+

如何用vs code上的力扣插件刷题(Window和Mac)

最近在官网刷题时,写不出来的总是忍不住想看答案,没思考多久就点开题解了😅。加之一直不喜欢它的界面和字体,就尝试着用vs code上的插件了,下面是具体方法。(少看答案,多思考哈)

今天不加班 1万+

力扣(LeetCode)刷题,简单+中等题(第30期)

力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。

不脱发的程序猿 7599
上一篇: LeetCode刷题---简单组(四)
下一篇: LeetCode刷题---简单组(六)
小馒头学python
小馒头学python 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄4年 1万+粉丝 252原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馒头学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值