1. 40億個(gè)無符號整數(shù),找出一個(gè)不在這40億個(gè)整數(shù)中的數(shù)。可以換個(gè)方向思考, 99個(gè)小于100的數(shù),找出一個(gè)不在這99個(gè)數(shù)中的小于100的數(shù)。
首先把這99個(gè)數(shù)分為10組,按高位為0-9分,然后計(jì)算每組的數(shù)量,數(shù)量最少的那個(gè)肯定就是缺失的那個(gè),然后遞歸……找最少的那個(gè),組合起來的數(shù)肯定是缺失的。答案是按位運(yùn)算找,和這個(gè)類似。
2. 43億個(gè)無符號整數(shù),找出一個(gè)重復(fù)的整數(shù)。也就是101個(gè)小于100的數(shù),找出重復(fù)的那個(gè)數(shù)來。
首先把這99個(gè)數(shù)分為10組,按高位為0-9分,然后計(jì)算每組的數(shù)量,數(shù)量最多的那組,肯定有重復(fù)的,一次類推找第二位……
首先把這99個(gè)數(shù)分為10組,按高位為0-9分,然后計(jì)算每組的數(shù)量,數(shù)量最少的那個(gè)肯定就是缺失的那個(gè),然后遞歸……找最少的那個(gè),組合起來的數(shù)肯定是缺失的。答案是按位運(yùn)算找,和這個(gè)類似。
2. 43億個(gè)無符號整數(shù),找出一個(gè)重復(fù)的整數(shù)。也就是101個(gè)小于100的數(shù),找出重復(fù)的那個(gè)數(shù)來。
首先把這99個(gè)數(shù)分為10組,按高位為0-9分,然后計(jì)算每組的數(shù)量,數(shù)量最多的那組,肯定有重復(fù)的,一次類推找第二位……