
文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、题目
- 二、设计思路
- 三、演示结果
- 总结
前言
参加python小课堂的挑战题。
一、题目 二、设计思路
首先我们需要输入数据并将数据存储在列表中,我们可以看到题目中有提示> “a b”.split(" ") == [“a”, “b”]。运用这个提示我们可以将用空格分隔开的字符串分别储存在列表中。
arr1 = input().split(" ")
寻找最长共同前缀我们只需要先确定字符串中的最短长度,这样可以节省很多时间。然后再各行扫描,好了我不想打了,直接把代码贴出来。
arr1 = input().split(" ")
arr2 = list()
sum = len(arr1)
least = 1000 # 输入的字符串中的最短长度,初始设定较大以便后续赋值
num = 0 # 共有前缀的字数
i = 0
j = 0
# 确定字符串中的最短长度
while i < sum:
if least > len(arr1[i]):
least = len(arr1[i])
i += 1
i = 0
if sum == 1: # 如果只输入一个字符串,那么直接输出该字符串
print(arr1[0])
else: # 如果超过一个字符串,则横向比较字符
while arr1[i][j] == arr1[i+1][j]: # 从i=0到i=sum-1开始比较第一个字符
if i < sum - 2 and j < least:
i += 1
else:
arr2 = arr1[i][:j+1] # 将已扫描过的字符赋给arr2
i = 0
j += 1
num += 1
if num == 0: # 没有共有前缀
print("NOT FOUND")
else:
print(arr2)
三、演示结果
总结
比掷色子稍微难一点,但是也不是太难。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)