【面试经典 150 | 数组】最后一个单词的长度

devtools/2024/9/20 1:22:04/ 标签: 面试, 字符串, 遍历, C++

文章目录

  • 写在前面
  • Tag
  • 题目来源
  • 解题思路
  • 写在最后

写在前面

本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……

专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:

  • Tag:介绍本题牵涉到的知识点、数据结构;
  • 题目来源:贴上题目的链接,方便大家查找题目并完成练习;
  • 题目解读:复述题目(确保自己真的理解题目意思),并强调一些题目重点信息;
  • 解题思路:介绍一些解题思路,每种解题思路包括思路讲解、实现代码以及复杂度分析;
  • 知识回忆:针对今天介绍的题目中的重点内容、数据结构进行回顾总结。

Tag

字符串】【遍历


题目来源

58. 最后一个单词的长度


解题思路

方法一:遍历

思路

明确题目的意思,字符串 s 的中间位置、开始位置、结束位置都可能有空格的出现,而且数量不确定。

为了统计最后一个单词的长度,可以从字符串 s 的末尾开始倒序遍历,从第一个非空格的字符开始统计直到遇到另一个空格这中间长度。

代码

class Solution {
public:int lengthOfLastWord(string s) {int n = s.size() - 1;int count = 0;while (s[n] == ' ')                   // (1)--n;while (n >= 0 && s[n] != ' ') {       // (2)count++;--n;}return count;}
};

(1)处用来找到从末尾第一个不是空格的位置开始,也就是最后一个单词的末尾开始
(2)统计最后一个单词的字符长度,结束标志是 再次遇到空格,或者遍历字符结束

复杂度分析

时间复杂度: O ( n ) O(n) O(n) n n n字符串 s 的长度。

空间复杂度: O ( 1 ) O(1) O(1)


写在最后

如果您发现文章有任何错误或者对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度的方法,欢迎评论区交流。

最后,感谢您的阅读,如果有所收获的话可以给我点一个 👍 哦。


http://www.ppmy.cn/devtools/8688.html

相关文章

Mac中隐私安全性设置-打开任何来源

文章目录 **Mac中隐私安全性设置-打开任何来源**一、目的二、打开方式 Mac中隐私安全性设置-打开任何来源 一、目的 从外部下载的软件频繁打不开,需要从隐私安全性中重新选择一下;默认Mac隐藏了任何来源 二、打开方式 打开终端,输入一下命…

读取数据透视表多列形态数据作图

示例文件 import pandas as pd import numpy as np import datetime todaystr(datetime.date.today())filepath/Users/kangyongqing/Documents/kangyq/202404/NPS评分/ file105NPS信息匹配分析2024-04-22.xlsx#从第三行开始读取列名,第一列作为索引 df1pd.read_exc…

免费听音乐,下载音乐mp3,mp4,歌词的网站分享(2024-04-22)

亲测!!! 1、音乐客 免费听和免费下载 经典老歌 - 音乐客音乐客,yinyueke.net,免费音乐,免费在线音乐播放器,免费下载音乐,音乐,播放器,下载,播放,DJ,免费,mp3,高音质,…

一二三应用开发平台使用手册——系统管理-用户组-使用说明

概述 在RBAC模型中,资源、角色、用户三个关键元素,构成权限体系。在平台设计和实现的时候,以下几个核心问题思考如下: 角色,单层平铺还是树形结构? 在小型应用中,角色数量有限的情况下&#x…

ernie-3.0-tiny-medium-v2-zh

"ernie-3.0-tiny-medium-v2-zh" 是一个特定版本的预训练语言模型,其名称反映了模型的系列、大小、版本以及适用的语言。下面对各个部分进行解释: ERNIE: 全称为 Enhanced Representation through kNowledge IntEgration,即“知识增…

风速Weibull分布和光伏Beta分布的参数拟合方法(含matlab算例)

在风光场景生成、随机优化调度等研究中,常常假设风速服从Weibull分布,太阳辐照度服从Beta分布。那我们如何得到两个分布的参数呢?文本首先介绍了风速Weibull分布和辐照度Beta分布的基本概率模型及其性性质,之后以MATLAB代码为例阐…

写后端项目的分页查询时,解决分页不更新

写基于VueSpringBoot项目,实现分页查询功能时,改完代码后,发现页数不更新: 更改处如下: 显示如图: 发现页数没有变化,两条数据还是显示在同一页,而且每页都10条。且重启项目也没有更…

代码+视频,R语言对数据进行多重插补后回归分析

我们在临床做回顾性研究分析中经常要面对数据缺失的问题,如果数据缺失量大就会对我们的研究结果产生影响,近年来,对数据进行多重插补广泛应用于SCI论文中。我们在之前的文章中已经演示了使用SPSS对数据进行多重插补并分析。今天,我…

在Debian上可以部署哪些有用的服务?

2024年4月20日,周六下午 在 Debian 上可以部署许多有用的服务,以满足各种需求。 以下是一些常见的有用服务: Web 服务器:如 Apache、Nginx、Lighttpd 等,用于托管网站和 Web 应用。数据库服务器:如 MySQL…

调试 WebSocket API 技巧分享

WebSocket 是一种在单个 TCP 连接上实现全双工通信的先进 API 技术。与传统的 HTTP 请求相比,WebSocket 提供了更低的延迟和更高的通信效率,使其成为在线游戏、实时聊天等应用的理想选择。 开始使用 Apifox 的 WebSocket 功能 首先,在项目界…

python实现抽象数据类型=>单向链表

链表的相关概念 在顺序表中,由于逻辑上相邻的元素其物理位置也相邻,因此可以随机存取顺序表中的任何一个元素。但是,顺序表也存在着如下缺点: 插入和删除运算需要移动大量的元素顺序表中的存储空间必须事先分配好,而事…

重新生成Linux引导程序grub

在Linux系统中,如果您需要重新生成引导程序,通常您需要重新创建GRUB(GRand Unified Bootloader)配置文件或者重新安装GRUB。以下是一般步骤,注意这些步骤可能会根据您的Linux发行版而有所不同: 启动到Live环…

css-Echarts图表初始显示异常非完全显示

1.echarts图表初始加载异常 2.问题原因 初次加载时,由于外层使用%比 echarts dom元素没有完全加载完成,canvas绘画继承本身宽高,造成Echarts图表初始显示异常非完全显示。 3.使用echarts图表可参考以下代码(实现一定的自适应&am…

C++ STL 容器 list

目录 1. list 对象2. list 迭代器2.1 实现2.2 迭代器失效 本文测试环境为 gcc 13.1 1. list 对象 std::list 底层是一个双向循环链表 list 对象本身包含一个头节点,通过指针指向元素节点,节点定义如下 头节点 header 和元素节点 node 都继承于基类 no…

【单例模式】饿汉式、懒汉式、静态内部类--简单例子

单例模式是⼀个单例类在任何情况下都只存在⼀个实例,构造⽅法必须是私有的、由⾃⼰创建⼀个静态变量存储实例,对外提供⼀个静态公有⽅法获取实例。 目录 一、单例模式 饿汉式 静态内部类 懒汉式 反射可以破坏单例 道高一尺魔高一丈 枚举 一、单例…

k-means聚类算法原理

K-means聚类算法是一种无监督学习算法,用于将数据集划分为K个不同的簇或组。每个簇代表一个类别,数据点被分配到与其距离最近的簇中心所在的簇中。 以下是K-means聚类算法的基本原理: 初始化: 首先,确定要将数据集分…

读书笔记《高效能人士的七个习惯》

变化的世界不变的原则 信息更新迭代的迅速,团队的合作显得尤为重要。谁 也无法说服他人改变 ,因为我们每个人都守着一扇只能从内 开启的改变之门 ,不论动 以情或晓之以理 , 我们都不能替别人开门 。 1)效能是什么?效能是产出和产能的平衡。人不能过渡的重视产出,从而忽…

每日OJ题_多源BFS①_力扣542. 01 矩阵(多源BFS解决最短路原理)

目录 多源BFS解决最短路算法原理 力扣542. 01 矩阵 解析代码 多源BFS解决最短路算法原理 什么是单源最短路 / 多源最短路? 之前的BFS解决最短路都是解决的单源最短路。 画图来说,单源最短路问题即为: 而对于多源最短路问题: 如何解决此…

SpringBoot多数据源(二)

SpringBoot多数据源AbstractRoutingDataSource(二) 1.多数据源配置2.多数据源调用流程3.实现 1.多数据源配置 spring-jdbc模块提供AbstractRoutingDataSource,其内部可以包含了多个DataSource, 然后在运行时来动态的访问数据库 2.多数据源…

css面试题之flex实现麻将三饼布局

麻将应该很多人都熟悉吧,那如何通过flex布局尽可能使用少的节点来实现“三饼(也有人管它叫桶)”的效果呢?(ps:麻将牌效果如下) 实现步骤: 1.首先先通过flex修饰外层容器,内部的三个…