nowCode HJ1 字符串最后一个单词的长度 简单

news/2024/6/17 22:20:01 标签: c++, 算法

题目 - 点击直达

  • 1. HJ1 字符串最后一个单词的长度 简单
    • 1. 题目详情
      • 1. 原题链接
      • 2. 题目要求
      • 3. 基础框架
    • 2. 解题思路
      • 1. 思路分析
      • 2. 时间复杂度
      • 3. 代码实现

1. HJ1 字符串最后一个单词的长度 简单

1. 题目详情

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

输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。

1. 原题链接

nowCode HJ1 字符串最后一个单词的长度 简单

2. 题目要求

示例
输入:
h e l l o n o w c o d e r hello nowcoder hellonowcoder
复制
输出:
8 8 8
说明:
最后一个单词为 n o w c o d e r nowcoder nowcoder,长度为 8 8 8

3. 基础框架

● Cpp代码框架

#include <iostream>
using namespace std;

int main() {
	return 0;
}
// 64 位输出请用 printf("%lld")

2. 解题思路

1. 思路分析

( 1 ) (1) (1) 从输入流 c i n cin cin读取内容,因为空格字符也要被读取,所以不能使用 s c a n f scanf scanf > > >> >>运算符重载函数,二者均把空格和换行符作为读取结束的标志,需要使用 g e t l i n e getline getline函数;
( 2 ) (2) (2) 单词之间以空格分隔,要找到最后一个单词,直接倒着找第一个空格字符的位置 p o s pos pos p o s pos pos的下一个位置就是最后一个单词的起始位置,单词长度就是 s . s i z e ( ) − p o s − 1 s.size()-pos-1 s.size()pos1,注意下标相减时的边界是否考虑;
( 3 ) (3) (3) 找不到空格时 g e t l i n e getline getline函数返回 s t d : : s t r i n g : : n p o s std::string::npos std::string::npos,值一般是size_t-1,说明没有单词或只有一个单词,依然满足 s . s i z e ( ) − p o s − 1 s.size()-pos-1 s.size()pos1

2. 时间复杂度

O ( N ) O(N) O(N)

3. 代码实现

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    size_t pos = s.rfind(' ');
    cout << s.size() - pos - 1 << endl;
    return 0;
}


http://www.niftyadmin.cn/n/5132551.html

相关文章

雨云虚拟主机使用教程WordPress博客网站搭建教程

雨云虚拟主机(RVH)使用教程与宝塔面板搭建WordPress博客网站的教程&#xff0c;本文会讲解用宝塔面板一键部署以及手动安装两种方式来搭建WordPress博客&#xff0c;选其中一种方式即可。 WordPress WordPress是使用PHP语言开发的博客平台&#xff0c;用户可以在支持PHP和MyS…

做人,不一定要风风光光,但一定要堂堂正正。处事,不一定要尽善尽美,但一定要问心无愧。

做人&#xff0c;不一定要风风光光&#xff0c;但一定要堂堂正正。处事&#xff0c;不一定要尽善尽美&#xff0c;但一定要问心无愧。以真诚的心&#xff0c;对待身边的每一个人。以感恩的心&#xff0c;感谢拥有的一切。 未来&#xff0c;不是穷人的天下&#xff0c;也不是富人…

【实用网站分享】

1、PyDebloatX https://pydebloatx.com/pydebloatx 是一种用于 Windows 操作系统的 Python 脚本&#xff0c;用于卸载 Windows 10 系统中的预装应用和系统组件&#xff0c;以便提高系统性能和释放磁盘空间。它是 Debloat Windows 10 脚本的一个分支&#xff0c;但具有更友好和…

Android问题笔记四十三:JNI 开发如何快速定位崩溃问题

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

精讲双向链表的销毁

相信大家子啊学习双向链表的时候对链表的销毁&#xff0c;都或多或少有些小疑惑&#xff0c;我到底是传一级指针还是传二级指针 木关系&#xff0c;这些都是小意思&#xff0c;今天我将为大家share 一下关于到底如何进行正确传指针 对于链表是销毁其实就是对链表进行一个结点一…

软考知识点——算法设计策略(思想)

软考知识点——算法设计策略&#xff08;思想&#xff09; 分治法 概念 将一个难以直接解决的大问题&#xff0c;分割成一些规模较小的相同问题&#xff0c;以便各个击破&#xff0c;分而治之。 思想策略 对于一个规模为n的问题&#xff0c;若该问题可以容易地解决&#x…

Proteus仿真--单个数码管循环显示0-9(仿真文件+程序)

本文主要介绍基于51单片机的单个数码管循环显示0-9&#xff0c;Proteus仿真&#xff08;完整仿真源文件及代码见文末链接&#xff09; 仿真运行视频 Proteus仿真--单个数码管循环显示0-9&#xff08;仿真文件程序&#xff09; 附完整Proteus仿真资料代码资料 百度网盘链接: ht…

前端小技巧: TS实现数组转树,树转数组

将数组转为树 interface IArrayItem {id: number,name: string,parentId: number }interface ITreeNode {id: numbername: stringchildren?: ITreeNode[] }const arr [{id: 1, name: 部门A, parentId: 0},{id: 2, name: 部门B, parentId: 1},{id: 3, name: 部门C, parentId:…