腾讯面试:bitmap统计元素出现次数,使用较少内存
生活随笔
收集整理的這篇文章主要介紹了
腾讯面试:bitmap统计元素出现次数,使用较少内存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ?有10億個uint32元素,判斷其中是否有相同元素。
? ? ? ?看到這個大數據的題目,還有內存限制,就用bitmap。在數據量比較少的情況下用hash表也是個不錯的方法。
? ? ? ? 這里要用2個bitmap,占用總內存1G。
? ? ? ? 這里我們算算內存:uint32總共4個字節,根據bitmap的思想,2^32可以存儲uint32數。
? ? ? ? 因為一個是8個位,2^32/8 = 0.5 * 2^30= 0.5G(2^30 = 大約1百萬)
? ? ? ?1G = 1024M = 1024 * 1024 B,所有說內存夠用
? ? ?
? ? ? ?2個bitmap說一個數對應2個二進制位00(出現0次)? ? 01(出現1次)? 10(出現2次)? 11(出現多次)
?
總結
以上是生活随笔為你收集整理的腾讯面试:bitmap统计元素出现次数,使用较少内存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试常考:bitmap判断其中是否有相同
- 下一篇: golang操作mysql用例