現(xiàn)在有1千萬個(gè)隨機(jī)數(shù),隨機(jī)數(shù)的范圍在1到1億之間。現(xiàn)在要求寫出一種算法,將1到1億之間沒有在隨機(jī)數(shù)中的數(shù)求出來。
一個(gè)32位的整數(shù)32位表示32個(gè)數(shù),1億/32 = 3125000,使用3.125 * 4m即可保存1億個(gè)數(shù). 對(duì)于數(shù)n,(n-1) / 32 為其在數(shù)組中的下標(biāo),table[(n - 1) % 32]與數(shù)組中此下標(biāo)的值使用或操作。
表中值為0000001, 0000010, 0000100等這樣的表示方式,具體的數(shù)值使用查表法加快速度
最后算某值是否存在,使用與操作即可計(jì)算出