【2025刷题笔记】- 单词重量
刷题笔记合集🔗
单词重量
问题描述
每个句子由多个单词组成,句子中的每个单词的长度都可能不一样,我们假设每个单词的长度 为该单词的重量,你需要做的就是给出整个句子的平均重量
。
输入格式
输入一行,包含一个英文句子,单词之间用空格分隔。
输出格式
输出一个浮点数,表示整个句子的平均重量,保留两位小数。
样例输入
Who Love Solo
样例输出
3.67
数据范围
| 样例 | 解释说明 |
|---|---|
| 样例1 | "Who"长度为3,"Love"长度为4,"Solo"长度为4,平均重量为(3+4+4)/3=3.67 |
- 输入的句子中单词数量不超过
- 每个单词的长度不超过
- 句子中只包含英文字母和空格
题解
这道题目要求我们计算所有单词的平均长度,并保留两位小数。解题思路其实很直观:
- 将输入的句子按空格分割成单词数组
- 计算每个单词的长度(即重量)
- 求出所有单词长度的总和
- 用总和除以单词数量,得到平均重量
- 将结果格式化为保留两位小数的形式
关键点在于如何处理保留两位小数的问题。在不同的编程语言中有不同的实现方法:
- Python中可以使用
round()函数或者格式化字符串 - Java中可以使用
String.format()或DecimalFormat类 - C++中可以使用
cout的格式控制或printf - JavaScript中可以使用
toFixed()方法
时间复杂度为O(n),其中n是句子中的字符总数。我们只需要遍历一次字符串来计算结果,所以效率很高。对于题目给定的数据范围(句子不超过100个单词,每个单词长度不超过20),这种算法足够高效。
参考代码
- Python
import sys
input = lambda:sys.stdin.readline().strip()
# 读取输入的句子
words = input().split()
# 计算所有单词的总长度
total_len = 0
for word i
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
算法刷题笔记 文章被收录于专栏
本专栏收集并整理了一些刷题笔记
