小米第二题大家怎么做的?
试卷类别: 服务端开发类试卷
PS: 只过20%...
我的策略是: 有些字符, 比如Z, 只出现在ZERO中, 那么就可以唯一确定 0 (这里讨论的0 是 (index +
8)%10过后的结果 ) 了, 假设出现n个Z, 那么对应的就有n个0, 然后把n个 'Z' 'E' 'R' 'O' 字符
从输入里面删掉, 接下来就不可能出现0了!
同理:
Z -> 0
W -> 2
U -> 4
X -> 6
G -> 8
在上面这6个数字的情况都处理完毕之后, 则有:
F -> 5 (出现F的可能是4或5, 但是4已经被处理完了[所以要按顺序处理下来], 所以肯定是5, 下面类似)
H -> 3
V -> 7
O -> 1
N -> 9 [kochira] 9应该要用 E , NINE N出现了2次! 不行
E -> 9 才对
通过这种方式就可以推算出输入的字符串对应了哪些数字, 最后再反向操作 "(index +8) % 10"
就可以得到原有的数字和它的出现次数, 然后再按照字典序输出...