leetcode 843 猜猜这个单词

题目我就不拷了,简单说下思路,参考的是https://blog.csdn.net/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找出的情况。

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

猜你喜欢

转载自blog.csdn.net/luwei0418/article/details/83543958