LeetCode150道面试经典题--最后一个单词的长度(简单)
1.题目
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
2.示例

3.思路
通过对字符串的反转,转为数组开始遍历,设计两个指针。一个指针找到最后单词的起始,另一个指针指向单词指针的末尾,
LeetCode代码:
class Solution {public int lengthOfLastWord(String s) {int preDex= 0;int tailDex= 0;StringBuffer stringBuffer = new StringBuffer(s);char sts[] = stringBuffer.reverse().toString().toCharArray();while (sts[preDex]==' '){preDex++;}tailDex = preDex;while (sts[tailDex]!=' '){if (tailDex == sts.length-1){tailDex++;break;}tailDex++;}return tailDex-preDex;}
}
详细解析案例代码:时间复杂度O(n);
package LettCode08;import java.util.Arrays;public class javaDemo {public static void main(String[] args) {String s = " fly me to the moon ";
// 最后一个单词的头下角标和尾下角标int preDex= 0;int tailDex= 0;
// 将字符串反转StringBuffer stringBuffer = new StringBuffer(s);char sts[] = stringBuffer.reverse().toString().toCharArray();
// 找到最后一个单词的起始while (sts[preDex]==' '){preDex++;}
// 找到一个单词的末尾tailDex = preDex;while (sts[tailDex]!=' '){if (tailDex == sts.length-1){tailDex++;break;}tailDex++;}
// 初始位减去末尾位就是长度了System.out.println(tailDex-preDex);}
}
相关文章:
LeetCode150道面试经典题--最后一个单词的长度(简单)
1.题目 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 2.示例 3.思路 通过对字符串的反转,转为数组开始遍历,…...
web-xss-dvwa
目录 xss(reflected) low medium high xss(store) low medium high xss(dom) low medium high xss(reflected) low 没有什么过滤,直接用最普通的标签就可以了 http://127.0.0.1/DVWA-master/vulnerabili…...
Exploiting Proximity-Aware Tasks for Embodied Social Navigation 论文阅读
论文信息 题目:Exploiting Proximity-Aware Tasks for Embodied Social Navigation 作者:Enrico Cancelli, Tommaso Campari 来源:arXiv 时间:2023 Abstract 学习如何在封闭且空间受限的室内环境中在人类之间导航&a…...
【华为OD机试】统计射击比赛成绩【2023 B卷|100分】
【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 给定一个射击比赛成绩单,包含多个选手若干次射击的成绩分数, 请对每个选手按其最高3个分数之和进行降序排名,输出降序排名后的选手ID序列。 条件如下: 1、一个选手可以有多个射击成…...
git push之后的撤销操作
用的是idea。 pull了代码之后,想撤销pull: push代码到个人远程仓库之后,又从主仓pull了一下。 点击其中一条git记录,然后右键单击“reset current branch ti here”,然后再点击hard push了代码到个人仓库,想撤销&…...
CSS 的选择器有哪些种类?分别如何使用?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 元素选择器(Element Selector)⭐ 类选择器(Class Selector)⭐ ID 选择器(ID Selector)⭐ 后代选择器(Descendant Selector)⭐ 子元素选择器&a…...
【MongoDB】索引
目录 一、概述 二、索引的类型 1、单字段索引 2、复合索引 3、其他索引 三、索引的管理 1、索引的创建 2、索引的查看 3、索引的删除 四、索引的使用 1、执行计划 2、涵盖的查询 一、概述 索引支持在MongoDB中高效地执行查询。如果没有索引,MongoDB必须…...
机器人CPP编程基础-02变量Variables
机器人CPP编程基础-01第一个程序Hello World 基础代码都可以借助人工智能工具进行学习。 C #include<iostream>using namespace std;main() {//Declaring an integer type variable A, allocates 4 bytes of memory.int A4;cout<<A <<endl;//Prints the a…...
【学会动态规划】买卖股票的最佳时机 IV(18)
目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…...
请解释一下CSS中的rem和em单位有什么不同,分别如何使用?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CSS中的rem和em单位的区别和使用⭐ em单位使用示例: ⭐ rem 单位使用示例: ⭐ 区别和适用场景⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何…...
docker 导入镜像 REPOSITORY和tag都是null怎么解决
当使用 docker import 命令导入镜像时,REPOSITORY 和 TAG 字段可能会为 null,因为 docker import 命令不会保留镜像的元数据,例如镜像名称和标签。这是因为 docker import 命令主要用于将本地文件系统中的文件或目录导入为 Docker 镜像&#…...
c语言操作符
目录 运算符 移位操作符 左移操作符 右移操作符 位操作符 按位与& 按位或| 按位异或^ 异或交换数字 计算二进制中1的个数 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员 隐式类型转换 整形提升实例: 算术转换 操作…...
python爬虫5:requests库-案例3
python爬虫5:requests库-案例3 前言 python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 本系列所涉及的代码仅用于个人研究与讨论,并不会对网…...
uni-app:实现点击按钮,进行数据累加展示(解决数据过多,导致出错)
效果 代码 核心代码 一、标签显示 <!-- 加载更多 --> <view class"load_more" v-if"info.length > pageNum * pageSize" tap"loadMore">加载更多 </view> v-if"info.length > pageNum * pageSize"…...
群晖6.X便捷的安装cpolar内网穿透
群晖6.X便捷的安装cpolar内网穿透 文章目录 群晖6.X便捷的安装cpolar内网穿透前言1. 下载cpolar的群晖套件1.1 打开群晖套件中心1.2 选择“手动安装”1.3 选择下载cpolar套件位置 2. 打开cpolar的Web-UI界面3. 注册会员 前言 随着硬件设备和软件技术的发展,以及数据…...
ffmpeg 4.4版本对MP4文件进行AES-CTR加密,和流式加密
对于ffmpeg的AES-CTR加密有两种方式,一个是普通的整个视频做加密,另一个是对视频做切片处理,然后进行加密。 一、对于普通的加密方式 直接使用下面的命令就行 ffmpeg -i animal.mp4 -vcodec copy -acodec copy -encryption_scheme cenc-aes…...
软件测试基础篇——Docker
1、docker技术概述 docker描述:docker是一项虚拟化的容器技术(类似于虚拟机),docker技术给使用者提供一个平台,在该平台上可以利用提供的容器,对每一个应用程序进行单独的封装隔离,每一个应用程…...
MySQL刷题遇到的盲点(五)窗口函数
窗口函数 语法: <窗口函数> over (partition by <用于分组的列名>order by <用于排序的列名>) partition by:用来对表分组( partition 子句可以省略,省略就是不指定分组) order by:是…...
【java】基础——多态
多态基本知识思维导图 多态的代码实现,注意父类对象引用指向子类对象引用(向上转型)的方法,父类就可以调用子类重写的方法和派生的方法,但不能调用子类特有的方法: class Animal {public void makeSound()…...
Go语言使用cron/v3实现定时任务
一、获取cron/v3包 go get github.com/robfig/cron/v3v3.0.0安装v3版本的cron包。 二、创建cron调度器 使用cron.New()创建一个新的Cron调度器: c : cron.New()三、添加定时任务 使用AddFunc方法添加定时任务,参数是cron表达式和任务函数: c.AddFunc("* * * * *&quo…...
uniapp安卓文件选择进阶:实现多选、类型过滤与大小限制的完整方案
1. 为什么需要进阶文件选择功能? 在移动应用开发中,文件选择是最基础但最容易被忽视的功能之一。我见过太多应用因为文件选择体验差而被用户吐槽:要么只能单选,要么选完才发现格式不对,要么上传时才发现文件太大。这些…...
企业数字化的“底层逻辑”:深度解构4A架构中的数据基石(PPT)
在企业数字化转型的宏大叙事中,我们常常听到“架构先行”、“数据驱动”等口号。然而,当企业真正落地时,往往面临“业务与IT两张皮”、“数据孤岛林立”、“系统重复建设”等痛点。这背后的核心原因,往往在于缺乏一套严谨的**企业…...
收藏 | RAG 核心认知:是什么、有哪些形态,小白也能看懂的大模型知识增强秘籍
RAG(检索增强生成)通过为AI模型加装专属知识库和搜索引擎,使其回答问题时基于真实知识,避免瞎编,提升准确性和时效性。文章介绍了RAG的三种核心形态:传统RAG(知识向量化存储与检索)、…...
3分钟掌握B站视频精髓:BiliTools AI总结功能终极指南
3分钟掌握B站视频精髓:BiliTools AI总结功能终极指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools 在…...
BallonTranslator:3分钟完成漫画翻译的终极AI工具,完全免费开源!
BallonTranslator:3分钟完成漫画翻译的终极AI工具,完全免费开源! 【免费下载链接】BallonsTranslator 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by…...
为什么选择RSA-Library:一个轻量级C语言加密解决方案
为什么选择RSA-Library:一个轻量级C语言加密解决方案 【免费下载链接】RSA-Library This is a C library for RSA encryption. It provides three functions for key generation, encryption, and decryption. 项目地址: https://gitcode.com/gh_mirrors/rs/RSA-L…...
Autosar MCAL开发避坑指南:EB配置Icu模块时,关于EMIOS时钟、中断与通道选择的三个关键决策点
Autosar MCAL实战:EMIOS时钟分频与ICU通道配置的三大核心策略 在汽车电子控制单元(ECU)开发中,精确捕获PWM信号是获取转速、位置等关键物理量的基础。我曾参与过多个基于Autosar的电机控制项目,发现约60%的Icu模块配置问题都源于EMIOS时钟设置…...
如何轻松实现跨设备控制:Barrier跨平台KVM软件完全指南
如何轻松实现跨设备控制:Barrier跨平台KVM软件完全指南 【免费下载链接】barrier Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/ba/barrier 你是否厌倦了在多台电脑之间来回切换键盘鼠标?Barrier作为一款强大的开源KVM软件…...
基于cruise的仿真模型搭建及效果分析:丰田氢能源车型在wltc工况下的跟随优势
基于cruise的燃料电池功率跟随仿真,按照丰田氢能源车型搭建,在wltc工况下跟随效果好,最高车速175,最大爬坡30,百公里9s均已实现。 1.模型通过cruise/simulink联合仿真,策略通过MATLAB/Simulink搭建的多点恒…...
深入解析Unity粒子系统Renderer模块:从基础渲染到高级光照控制
1. 粒子系统Renderer模块的核心作用 第一次接触Unity粒子系统时,我被Renderer模块里密密麻麻的参数吓到了。直到做了个烟花特效项目才发现,这个看似复杂的模块其实是让粒子"活起来"的关键。简单来说,它就像化妆师,决定…...
