当前位置:网站首页>【牛客】HJ1 字符串最后一个单词的长度
【牛客】HJ1 字符串最后一个单词的长度
2022-06-24 07:07:00 【Uaena_An】
三行代码做一道题HJ1 字符串最后一个单词的长度
我的意思是不包括固定代码哦!
🧸读题
输出几个单词,以空格隔开,输出最后一个单词的长度。
🧸代码
直接写最终解题代码
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin,s);
cout<<s.size()-s.rfind(' ')-1<<endl;
return 0;
}
🧸解读代码
string s;
创建stringgetline(cin,s);
连续接收字符串cout<<s.size()-s.rfind(' ')-1<<endl;
用size减倒数第一个‘ ’(空格)的位置 再减去1,因为size是最后一个字符的下一个位置
这样左开右闭相减就是 字符的个数。
🧸代码迭代过程
第一代
这是几个月前的记录
#include <iostream>
using namespace std;
int main()
{
string s;
//cin>>s;//cin读到空格或换行结束 scanf同理
//方法一:一个字符一个字符拿
// char ch = getchar();
// //char ch = cin.get();
// while(ch!='\n')
// {
// s+=ch;
// ch = getchar();
// }
//方式二:
getline(cin,s);
size_t pos = s.rfind(' ');
if(pos == string::npos)
{
cout <<s.size()<<endl;
}
else{
cout << s.size() - pos-1;
}
return 0;
}
第二代
几个月后的今天我重新做了一下
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin,s);
size_t pos = s.rfind(' ');
int count = 0;
while(pos != s.size()-1)
{
++pos;
++count;
}
cout <<count<<endl;
return 0;
}
第三代
我写完后,看了第一版的代码,于是觉得 while循环做的事,是冗余的!有了进一步的改造
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin,s);
size_t pos = s.rfind(' ');
cout<<s.size()-pos-1<<endl;
return 0;
}
最终版
后来发现pos做的事也可以省略!!!
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin,s);
cout<<s.size()-s.rfind(' ')-1<<endl;
return 0;
}
其他大佬解法
算最后一个单词的size
那直接循环接收,覆盖掉之前的单词,直接输出size,牛蛙!
int main() {
string s;
while(cin >> s);
cout << s.size();
return 0;
}
加油,祝你早日拿到心仪的offer!
边栏推荐
猜你喜欢

What is SRE? A detailed explanation of SRE operation and maintenance system

【Pytorch基础教程31】YoutubeDNN模型解析

MySQL 因字符集问题插入中文数据时提示代码 :1366

一文详解|增长那些事儿

原生小程序用画布制作海报,等比例缩放,和uniapp差不多就是写法有点不同

A tip to read on Medium for free

【量化投资】离散傅里叶变换求数组周期

Telnet port login method with user name for liunx server

MySQL | 存储《康师傅MySQL从入门到高级》笔记

Mysql数据(Liunx环境)定时备份
随机推荐
基于单片机开发的酒精浓度测试仪方案
OpenCV每日函数 结构分析和形状描述符(7) 寻找多边形(轮廓)/旋转矩形交集
Centos7 installation of jdk8, mysql5.7 and Navicat connection to virtual machine MySQL and solutions (solutions to MySQL download errors are attached)
Picture tools
数据中台:数据治理概述
Win11 blank when using VIM to view content in cmder
什么是SRE?一文详解SRE运维体系
【NOI模拟赛】寄(树形DP)
【Pytorch基础教程31】YoutubeDNN模型解析
2138. 将字符串拆分为若干长度为 k 的组
xargs使用技巧 —— 筑梦之路
图片工具
定时备份数据库脚本
liunx服务器 telnet 带用户名 端口登陆方法
Background management of uniapp hot update
Summary of methods in numpy
One article explains in detail | those things about growth
Base64编码详解及其变种(解决加号在URL变空格问题)
Using ngrok for intranet penetration
Solution: Nan occurs in loss during model training