题目:一个数组中,一个数字出现1次,其他数均出现k次,输出只出现1次的数
第一种解法:一个键值对数组储存,存储出现的数字以及其对应出现的次数。
第二种解法:做不进位加法
首先要知道一个结论,2个相同的二进制数,做不进位加法,结果为0;
10个相同的十进制数,做不进位加法,结果为0;
k个相同的k进制数,做不进位加法,结果为0;
思路就是:全部转为k进制的数,相加,最后剩下的就是只出现1次的数。
十进制转k进制,java的api提供的有现成的方法,即Integer.toString(i,radix); i 为十进制的数,radix为进制。或着自己手动取余也是一种方法,只不过比较麻烦。