weixin_47740490 2021-08-09 02:23 采纳率: 33.3%
浏览 401
已结题

Python 算法 单词接龙 单词首尾相同则相连 (空格隔开)

年会上玩单词接龙比赛,挑战者只能从预先准备好的词库说出里面的单词,规则是一个单词的首字母必须和上一个单词的尾字母相同,每个单词只能说一次,说完词库中所有单词即为获胜。给你一个字符串的列表表示词库,请判断分到该词库的挑战者有没有可能挑战成功,如果可能,请返回字典序最小的单词列表;如不可能,请返回空列表。

输入
请从标准输入中读取测试案例,每一个测试案例对应一行输入,每一行输入为一个长为len的字符串数组,数组元素为仅由小写字母组成的字符串,字符串长度为l。(1<=len<=10000,2<=l<=50)

输出
请将计算结果写入标准输出,每一个测试案例对应一行输出,每一行输出为按题意顺序排列的字符串数组。

输入示例
dog green raw neer wand
cat cabin new
apple python next tip elephant
history yet yummy yellow yemen yes young settle
bingo office

输出示例
dog green neer raw wand

apple elephant tip python next

bingo office

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-08-12 17:54
    关注
    lst = ['dog','green', 'raw', 'neer', 'wand']
    vis = []
    ls = lst[:]
    n = 1
    f = True
    
    for a in ls: 
        while lst and n < len(ls):
            for i in lst:
                if a[-1] == i[0]:
                    if f:
                        vis.append(a)
                        f = False
                    tmp = lst.pop(lst.index(i))
                    if tmp not in vis:
                        vis.append(tmp)
                    a = i
            n += 1
            
    print(vis)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月27日
  • 已采纳回答 8月19日
  • 创建了问题 8月9日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化