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

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 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug