1、题目描述
继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"),然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。
具体示例如下图:
2、思路分析
a、输入的是被打乱的字符,不可能通过匹配每个数字所对应的单词来获得相应的数字,但是每个数字所对应的单词都是由英文字符构成的,通过找到每个数字所对应的单词中独有的字母的个数就可以找到对应的这个数字的个数。
通过分析可以看出:在 "ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"这10个单词中,0、2、4、6、8英文单词中的'Z'、'W'、'U'、'X'、'G'是各自独有的字符,去掉上面5个数字: 1、3、5、7英文单词中的'O'、'T'、'F'、'S'也是各自独有的字符,最后还剩下一个9可以选择它所对应的任意一个字符作为它的独有字符,这里本人选择'I'作为其独有的字符。搞清楚上面对应的关系后,通过逐步计算可以最终确定各个数字的个数。
b、要把计算所得的数字进行转换来求得原始的数据:我们