leetcode 843 猜猜这个单词

本文探讨了一种基于猜词游戏的算法实现思路,通过随机猜测和筛选相似词汇的方法逐步缩小正确答案范围。但现有算法在特定情况下可能陷入循环或无法有效定位目标单词,如面对高度相似的词汇组合时。文章提出疑问,寻求更高效算法优化方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目我就不拷了,简单说下思路,参考的是https://blog.youkuaiyun.com/qq_36627886/article/details/80488272

首先正确答案就在wordlist中,我们假设它为x。

我们先随机guess一个单词,得到它与x之间相同字母数量,设其为num;之后遍历wordlist,只要和x相同字母数量为num的都取出来,加入到一个新的list中,设为temp。x必然在temp之中。

之后从temp中随机取出一个单词进行guess,运气好的话直接就是x;运气不好的话,重复上述过程。最终总会获得正确解。

 

但是其中也有问题,假如十次循环中,每次都获取了同一个单词会如何?应当将不是的单词直接剔除,而不是继续加入temp中再次循环。同时如果4个单词为以下这些,而只允许guess三次:

aaaaff

bbbbff

ccccff

ddddff

设x为ddddff,那么其他三个单词与x之间相同的字母数量为2,而这三个单词之间相同的字母数量也为2,只guees三次的话,按照这一做法也存在无法将x找出的情况。

 

到底该咋做我也不懂。求大佬指导。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值