题目描述 有n个字符串,找到最短的字符串并输出。 输入 测试数据有多组,第一行的正整数T表示测试数据的组数。每组的第一行给出一个正整数n(n≤10),表示该组测试数据中字符串的个数,后跟n行,每行一个一个字符串(不超过100个字符,可能包含空格)。 输出 对于每组测试数据,输出最短的字符串,每组单独占一行。若有多个字符串都最短,则输出最后一个最短的。发代码
时间: 2024-03-03 20:50:15 浏览: 149
已知一个字符串的长度,剔除其中所有的空格字符。请从字符串最后一个字符开始逐个向前判断、并进行处理。
好的,以下是完整的 Python 代码实现:
```python
t = int(input()) # 读入测试数据组数
for _ in range(t):
n = int(input()) # 读入字符串个数
shortest = '' # 当前最短字符串
last_shortest_index = 0 # 最后一个最短字符串的位置
for i in range(n):
s = input().strip() # 读入一个字符串
if i == 0 or len(s) < len(shortest):
shortest = s
last_shortest_index = i
elif len(s) == len(shortest):
last_shortest_index = i
print(input_list[last_shortest_index]) # 输出最后一个最短字符串
```
代码思路如前所述,变量 `shortest` 记录当前最短字符串,变量 `last_shortest_index` 记录最后一个最短字符串的位置,每当遇到长度相同的字符串时,更新这个位置。最后输出这个位置对应的字符串即可。
注意要使用 `strip()` 方法去除字符串两端的空白字符。
阅读全文