猜数字游戏

来源:互联网 发布:焦作公务员网络培训 编辑:程序博客网 时间:2024/06/05 02:43

初次见到题目,觉得很简单,可是仔细敲代码时候却发现根本无法处理如下情况

正确序列:1,2,3,4

猜测序列:1,1,1,1

我选择用字符串保存正确的,然后如果对应上就把它变成字母,下一次就不会算他了,可是如果这样子:

正确:1,2,3,4

错误:2,3,3,4

错误的3算了,正确却没有算,这样显然不符合题意,于是我就卡住了,想不通怎么做,flag也想过,就是无法处理



又一次看了答案

答案先计算了一遍正确的,然后遍历所有数字(1~9)     每个数字都分别在正确猜测数组里面出现了多少次,每次取最少的记在count 里面,累加,最后猜错位置的就是count减去猜对位置的数目


刚看到这个思路时候还不是很能理解,于是找了几个尝试,每次选择count比较少的累加是保证不会出现列子一的情况,虽然有点浪费时间了,但是却是个好办法,有时候一个方向走不动的时候,转换一个思路会很难,所有要经常积累,这也是现在经常看别人代码的好处呐,就像这道题,单纯从两个序列入手已经走不通了,在所有可能出现的数字是有限个的情况下,可以换成这个想法,虽然不太好想。。。。



0 0