一個3升的桶和一個5升的桶,怎么得到4升的水。


3+3-5+3=4

滿3升桶--〉倒進5升桶里
滿3升桶--〉倒進5升桶里--〉3升桶里最后會留1升
倒干凈5升桶
把3升桶里的1升水倒進5升桶里
再裝滿3升桶--〉倒進5升桶里---〉共4升

--------------------------------------------------------------

給定a、b兩個文件,各存放50億個url,每個url各占用64字節,內存限制是4G,如何找出a、b文件共同的url?

分析:我們先來看如果要把這些URL全部加載到內存中,需要多大的空間。

1MB = 2^20 = 10^6 = 100W

1GB = 2^30 = 10^9 = 10億

50億 = 5G * 64 Byte = 320G

分別掃描A,B兩個文件,根據hash(url)%k(k為正整數,比如k = 1000,那么每個小文件只占用300M,內存完全可以放得下)將url划分到不同的k個文件中,比如a0,a1,....a999;b0,b1,...b999;

這樣處理后相同的url肯定在對應的小文件中(a0 vs b0,a1 vs b1,...a999 vs b999)因為相同的url%1000的值肯定相同,不對應的小文件不可能有相同的url;

然后我們只要求出1000對小文件中相同的url即可。比如對於a0 vs b0,我們可以遍歷a0,將其中的url存放到hash_map中,然后遍歷b0,如果b0中的某個url在hash_map中,則說明此url在a和b中同時存在,保存下來即可。

--------------------------------------------------------------------

四棵樹種成空間的正四面體可以兩兩之間距離相同

--------------------------------------------------------------------

兩個數不借助第三個數交換

a=a+b

b=a-b

a=a-b

------------------------------------------------------

5五只貓5分抓5只老鼠,100分抓100只老鼠多少只貓

5只(將5只看成一個整體)

----------------------------------------------------------

八個小球,有一個重,稱兩次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM