为您提供了一个长度最大为2 32的32位无符号整数数组,其特性是,对于某些32位无符号整数N,该数组中一半以上的条目等于N。查找N并查看每个数字在阵列中只能使用一次,并且最多使用2 kB的内存。
您的解决方案必须是确定性的,并保证找到N。
每个位保留一个整数,并为数组中的每个整数适当增加此集合。
最后,某些位的计数将大于数组长度的一半-这些位确定N。当然,该计数将大于N发生的次数,但这无关紧要。重要的是,不属于N的任何位 都不能 出现超过一半的时间(因为N具有超过一半的条目),并且属于N的任何位都 必须 出现超过一半的时间(因为它将发生)每次发生N,以及其他任何情况)。
(目前尚无代码-即将失去网络访问权限。希望以上内容足够清楚。)