1.现在有100亿个数字大小为1到10亿的数字,在这100亿个数字里边只有一个数字出现的次数是奇数次的,你用什么方法,找出这个数字呢?
答:显然至少要全部过一遍,可以用位运算,从头一路+下去,最后剩下的数字就是出现奇数次的数字
10亿=10^9=2^30 int可行
2.A和B分苹果。分苹果策略是一次一个或者两个,A先拿,然后B拿,然后A拿..一直到拿完
问什么方案,能让A拿到最后一个苹果呢?
答:A先拿,把整个堆拿到3的倍数,然后保持即可,直到最后轮到B拿的时候剩余三个,必胜
3.随机发牌。有10000张牌,随机发出一张,要使得随机发出的牌不重复,而且时间、空间复杂度要恒定。你觉得怎样做可以达到这个目的呢?
?