B2120 单词的长度
单词的长度
题目描述
输入一行单词序列,相邻单词之间由 1 1 1 个或多个空格间隔,请对应地计算各个单词的长度。
注意:如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。
输入格式
一行单词序列,最少 1 1 1 个单词,最多 300 300 300 个单词,单词之间用至少 1 1 1 个空格间隔。单词序列总长度不超过 1000 1000 1000。
输出格式
依次输出对应单词的长度,之间以逗号间隔。
样例 #1
样例输入 #1
She was born in 1990-01-02 and from Beijing city.
样例输出 #1
3,3,4,2,10,3,4,7,5
方法1
解题思路:
本题要求我们计算一行单词序列中每个单词的长度,并以逗号分隔输出。我们可以按照以下步骤解决:
- 读取一行单词序列。
- 使用字符串流(istringstream)将单词序列分割为单个单词。
- 遍历每个单词,计算其长度,并输出长度值。
- 在输出长度值之间以逗号分隔,注意最后一个长度值后不需要逗号。
C++代码:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;int main() {string line;getline(cin, line);istringstream iss(line);string word;int wordCount = 0;while (iss >> word) {if (wordCount > 0) {cout << ",";}cout << word.length();wordCount++;}cout << endl;return 0;
}
代码解释:
1 . 首先,我们使用getline
函数读取一行单词序列,并将其存储在字符串line
中。
2 . 接下来,我们创建一个字符串流对象iss
,并将line
传递给它。这样,我们就可以使用iss
来分割单词序列。
3 . 然后,我们定义一个字符串变量word
用于存储每个单词,以及一个整型变量wordCount
用于记录已处理的单词数量。
4 . 我们使用while
循环和iss >> word
语句从字符串流中读取单词。每次读取一个单词,直到读取完所有单词为止。
5 . 在循环内部,我们首先判断wordCount
是否大于0。如果大于0,说明当前单词不是第一个单词,我们输出一个逗号,
作为分隔符。
6 . 然后,我们使用word.length()
计算当前单词的长度,并将其输出。
7 . 将wordCount
加1,表示已经处理了一个单词。
8 . 循环结束后,我们输出一个换行符,以便结果在新的一行显示。
复杂度分析:
- 时间复杂度:O(n),其中n为单词序列的总长度。我们需要遍历整个单词序列一次。
- 空间复杂度:O(n),其中n为单词序列的总长度。我们需要使用字符串流来存储单词序列,以及临时存储每个单词。
输入输出样例:
输入:
She was born in 1990-01-02 and from Beijing city.
输出:
3,3,4,2,10,3,4,7,5
该解决方案与之前的解决方案类似,只是将布尔变量first
替换为整型变量wordCount
来判断是否为第一个单词。通过使用wordCount
,我们可以避免使用布尔值,而是通过单词数量来判断是否需要输出逗号分隔符。
方法2
解题思路:
本题要求我们计算一行单词序列中每个单词的长度,并以逗号分隔输出。我们可以按照以下步骤解决:
- 使用
cin
直接读取单词,以空格为分隔符。 - 对于每个读取到的单词,计算其长度,并输出长度值。
- 在输出长度值之间以逗号分隔,注意最后一个长度值后不需要逗号。
C++代码:
#include <iostream>
#include <string>
using namespace std;int main() {string word;int wordCount = 0;while (cin >> word) {if (wordCount > 0) {cout << ",";}cout << word.length();wordCount++;}cout << endl;return 0;
}
代码解释:
1 . 首先,我们定义一个字符串变量 word
用于存储每个单词,以及一个整型变量 wordCount
用于记录已处理的单词数量。
2 . 我们使用 while
循环和 cin >> word
语句直接读取单词。每次读取一个单词,以空格为分隔符,直到读取完所有单词为止。
3 . 在循环内部,我们首先判断 wordCount
是否大于0。如果大于0,说明当前单词不是第一个单词,我们输出一个逗号 ,
作为分隔符。
4 . 然后,我们使用 word.length()
计算当前单词的长度,并将其输出。
5 . 将 wordCount
加1,表示已经处理了一个单词。
6 . 循环结束后,我们输出一个换行符,以便结果在新的一行显示。
复杂度分析:
- 时间复杂度:O(n),其中n为单词序列的总长度。我们需要遍历整个单词序列一次。
- 空间复杂度:O(1)。我们只需要常数级别的额外空间来存储每个单词和单词数量。
输入输出样例:
输入:
She was born in 1990-01-02 and from Beijing city.
输出:
3,3,4,2,10,3,4,7,5
该解决方案直接使用 cin
读取单词,避免了使用字符串流分割单词的过程。通过 cin >> word
,我们可以方便地读取以空格分隔的单词,并计算每个单词的长度。与之前的解决方案相比,该方法更加简洁直观。
需要注意的是,由于 cin
以空格为分隔符,所以连字符、逗号等标点符号会被视为单词的一部分,这符合题目要求。
如果还有任何问题或需要进一步的解释,请随时告诉我。
相关文章:
B2120 单词的长度
单词的长度 题目描述 输入一行单词序列,相邻单词之间由 1 1 1 个或多个空格间隔,请对应地计算各个单词的长度。 注意:如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没…...

分布式事务解决方案(最终一致性【可靠消息解决方案】)
可靠消息最终一致性解决方案 可靠消息最终一致性分布式事务解决方案指的是事务的发起方执行完本地事务之后,发出一条消息,事务的参与方,也就是消息的消费者一定能够接收到这条消息并且处理完成,这个方案强调的是只要事务发起方将消…...

AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月28日预测第4弹
昨天的第二套方案已命中,第一套方案由于杀了对子,导致最终出错。 今天继续基于8883的大底,使用尽可能少的条件进行缩号,同时,同样准备两套方案,一套是我自己的条件进行缩号,另外一套是8883的大底…...
JAVA:深入了解JAVA中的23种设计模式(三)- 行为型模式(下)
一、前言 在前三篇 《深入了解JAVA中的23种设计模式(一)- 创建型模式》 《深入了解JAVA中的23种设计模式(二)- 结构型模式》 《深入了解JAVA中的23种设计模式(三)- 行为型模式(上)》…...
微信小程序【WXML】
wxml wei xin markup language 类似于html 文档 数据绑定 小程序中使用{{}} 来进行数据绑定到模板中,如: wxml中的动态数据全部来自js中的data 简单绑定 //wxml <view> {{text }}</view>// index.js Page({data: {text: hello world}, })属性绑定…...

基于python实现的深度学习的车牌识别系统
基于python实现的深度学习的车牌识别系统 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 登录页面 在车牌识别系统当中肯定是有登录的。怎么说呢,登录页面其实还是和最初的设…...

SQL试题使得每个学生 按照姓名的字⺟顺序依次排列 在对应的⼤洲下⾯
学⽣地理信息报告 学校有来⾃亚洲、欧洲和美洲的学⽣。 表countries 数据如下: namecontinentJaneAmericaPascalEuropeXiAsiaJackAmerica 1、编写解决⽅案实现对⼤洲(continent)列的 透视表 操作,使得每个学生 按照姓名的字⺟顺…...

kafka3.6.1版本学习
kafka目录结构 bin linux系统下可执行脚本文件 bin/windows windows系统下可执行脚本文件 config 配置文件 libs 依赖类库 licenses 许可信息 site-docs 文档 logs 服务日志 启动ZooKeeper 进入Kafka解压缩文件夹的config目录,修改zookeeper.properties配置文件 #t…...

移除链表元素-力扣
题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5]示例 2: 输入&…...

HTTP请求拦截器链
文章目录 HTTP请求拦截器链需求定义写一个Controller方法接口写三个http请求拦截器把拦截器加入到配置中,并且配置拦截规则在postman里面发送请求,看下测试结果是否正确 HTTP请求拦截器链 需求定义 我们写一个包含三个HTTP请求拦截器的拦截器链&#x…...

再创佳绩丨达梦数据库一体机荣获2024数字中国创新大赛·信创赛道总决赛一等奖
5月24日,第七届数字中国建设峰会在福州盛大开幕,峰会内容安排包含开幕式、主论坛、分论坛、数字中国创新大赛、现场体验区及成果发布和专业工作会议等。武汉达梦数据库股份有限公司(以下简称达梦数据)受邀参加并在展、会、赛等多个环节深度参与。达梦全栈…...

数据分析之统计学基础
数据分析是现代企业和科研中不可或缺的一部分,而统计学是数据分析的基石。在本篇博客中,我们将介绍统计学的基础知识,涵盖数据类型、描述性统计(集中趋势、离散程度和偏差程度),并通过代码实例加以说明。 …...

Web3 游戏周报(5.19 - 5.25)
【5.19 - 5.25】Web3 游戏行业动态: Arbitrum 已开启 “2 亿枚 ARB 游戏催化剂计划”的提案投票。 STEPN 在官方 X 宣布将推出全新社交健身应用 STEPN GO。 Oasys 正式推出《足球小将》漫改 Web3 游戏《Captain Tsubasa-RIVALS-》。 Gala Games :已销…...

通过el-tree自定义渲染网页版工作目录,实现鼠标悬浮显示完整名称、用icon区分文件和文件夹等需求
目录 一、通过el-tree自定义渲染网页版工作目录 1.1、需求介绍 1.2、使用el-tree生成文档目录 1.2.1、官方基础用法 ①效果 ②代码: 1.2.2、自定义文档目录(实现鼠标悬浮显示完整名称、用icon区分文件和文件夹) ①效果(直接效…...

C语言 | Leetcode C语言题解之第101题对称二叉树
题目: 题解: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool isSymmetric(struct TreeNode* root) {if (root NULL) return true;//如果根为空直接…...

TTime:截图翻译/OCR
日常网页翻译Translate Web Pages完全足够,TTime最重要的功能,还是截图翻译,还有个厉害的功能,就是静默OCR,相比之前的分享的识字精灵效率更高。 软件使用 打开软件,点击翻译源设置,建议勾选一…...

【哈希】闭散列的线性探测和开散列的哈希桶解决哈希冲突(C++两种方法模拟实现哈希表)(1)
🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 哈希函数与哈希 之 闭散列的线性探测解决哈希冲突 的相关内容。 如…...

四川农业大学Java实训项目圆满收官,汇智知了堂引领学子实践创新
近日,四川农业大学与汇智知了堂共同举办的Java实训项目正式迎来了项目汇报阶段。本次实训是汇智知了堂在高等教育领域深化校企合作、推动产教融合的一次重要实践,旨在为广大学子提供一个将理论知识与实际操作相结合的平台。 在实训过程中,汇…...

JavaScript的当前时间设置及Date的运算
作者:私语茶馆 1.场景描述 如下图,在HTML刚加载时,需要将开始时间设置为默认当前时间,结束时间设置为当前时间后7天的时间。手工填写时间时,时间段不超过30天。 这里涉及到两个技术点: 1)Input Date的当前时间设置 2)date的运算 由于是动态修改HTML,所以采用…...
网络安全管理制度
一、总则 目的:本制度旨在保障组织内部网络系统的安全、稳定运行,保护组织的信息资产不受损害,确保业务的连续性和数据的完整性。适用范围:本制度适用于组织内部所有使用网络系统的部门、员工及第三方合作伙伴。 二、网络安全管理…...
SQL 中 IN 和 EXISTS 的区别
SQL 中 IN 和 EXISTS 的区别 1. 基本概念 1.1 IN 运算符 IN 是一个条件运算符,用于检查某个值是否存在于指定的值列表中或子查询返回的结果集中。 SELECT * FROM employees WHERE department_id IN (SELECT id FROM departments WHERE location = New York)...

2022年 国内税务年鉴PDF电子版Excel
2022年 国内税务年鉴PDF电子版Excelhttps://download.csdn.net/download/2401_84585615/89784658 https://download.csdn.net/download/2401_84585615/89784658 2022年国内税务年鉴是对中国税收政策、税制改革和税务管理实践的全面总结。这份年鉴详细记录了中国税收系统的整体状…...

『React』组件副作用,useEffect讲解
在 React 开发中,有时候会听到“副作用”这个词。特别是用到 useEffect 这个 Hook 的时候,官方就明确说它是用来处理副作用的。那什么是副作用?为什么我们要专门管控它?今天就聊聊 React 中的组件副作用。 📌 什么是“…...
页面输入数据的表格字段(如 Web 表单或表格控件)与后台数据库进行交互时常用的两种方式
“从页面输入数据的表格字段(如 Web 表单或表格控件)在与后台数据库进行交互时,常用的有两种方式:” 🎯 两种方式(操作调用数据库、绑定数据) 🚀 方式1:前端代码提交数据到后端,再由后端调用数据库 💡 原理和逻辑: 用户在页面上(比如输入表单、表格)输入数据…...

工作自动化——工作自动提炼--智能编程——仙盟创梦IDE
工作自动化中的自动提炼、自动比对代码生成日志,为软件开发与项目管理带来诸多好处。 自动提炼能从复杂代码中精准提取关键信息,节省人工梳理时间,开发人员可快速把握核心逻辑,加速项目熟悉进程。自动比对代码则及时发现版本间差异…...

Redisson学习专栏(五):源码阅读及Redisson的Netty通信层设计
文章目录 前言一、分布式锁核心实现:RedissonLock源码深度解析1.1 加锁机制:原子性与重入性实现1.2 看门狗机制:锁自动续期设计1.3 解锁机制:安全释放与通知1.4 锁竞争处理:等待队列与公平性1.5 容错机制:异…...

多模态大语言模型arxiv论文略读(105)
UnifiedMLLM: Enabling Unified Representation for Multi-modal Multi-tasks With Large Language Model ➡️ 论文标题:UnifiedMLLM: Enabling Unified Representation for Multi-modal Multi-tasks With Large Language Model ➡️ 论文作者:Zhaowei…...
SpringBoot整合MyBatis完整实践指南
在Java企业级应用开发中,SpringBoot和MyBatis的组合已经成为主流的技术选型方案之一。本文将详细介绍如何从零开始搭建一个基于SpringBoot和MyBatis的项目,包括环境配置、数据库设计、实体类创建、Mapper接口编写以及实际应用等完整流程。 一、环境准备…...

定时线程池失效问题引发的思考
最近在做的一个新功能,在结果探测的时候使用了定时线程池和普通线程池结合,定时线程池周期性创建子任务并往普通线程池提交任务。 问题: 在昨天测试老师发现,业务实际上已经成功了,但是页面还是一直显示进行中。 收到…...

房屋租赁系统 Java+Vue.js+SpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块
房屋租赁系统 JavaVue.jsSpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块 百度云盘链接:https://pan.baidu.com/s/1KmwOFzN9qogyaLQei3b6qw 密码:l2yn 摘 要 社会的发展和科学技术的进步…...