- 相關(guān)推薦
計(jì)算機(jī)常見(jiàn)算法面試/筆試題集
1.用最簡(jiǎn)單的方法判斷一個(gè)LONG整形的數(shù)A是2^n(2的n次方)
若a為2的N次方,則a最高位為1,其他位為0,那么(a-1)正好相反,只有最高位為0,其他位為1,然后做a和(a-1)的 位與就行了,結(jié)果為0則a為2的N次方。
return (N-1)&N? FALSE : TRUE;
2.判斷單鏈表是否存在環(huán),判斷兩個(gè)鏈表是否相交:http://wenku.baidu.com/view/4b402cd280eb6294dd886c56.html
3.五桶球,一桶不正常,不知道球的重量和輕重關(guān)系,用天平稱一次找出那桶不正常的球:
首先假定只要不把球從天平拿下來(lái)就還算一次,另外每個(gè)桶內(nèi)的球是一樣的:
從1 號(hào)和2 號(hào)桶各拿一個(gè),放上天平(1 號(hào)左,2 號(hào)右),如果平衡,說(shuō)明這兩桶球都是正常的,可以做為砝碼。如果不平衡,那么1 號(hào)和2 號(hào)桶必有一個(gè)不正常,而其他3 ,4 ,5 桶是正常的,可以作為砝碼。
首先考慮1 號(hào)2 號(hào)桶不平衡的情況,這時(shí)從1 號(hào)和3 號(hào)桶再各拿一個(gè)球,放上天平(1 號(hào)右,3 號(hào)左),如果這時(shí)平衡了,說(shuō)明1 號(hào)桶是不正常的,如果還是不平衡,那么2 號(hào)桶是不正常的。
如果第一步1 號(hào)2 號(hào)桶是平衡的,那么也好辦,把3 ,4 號(hào)桶各拿一個(gè)放上天平(3 號(hào)左,4 號(hào)右),這時(shí)如果還是平衡的,那么5 號(hào)桶必然是不正常的。如果不平衡,說(shuō)明不正常的就在3 ,4 號(hào)桶之中。我們?cè)儆? )的方法找出來(lái)即可。
4.給兩個(gè)燒杯,容積分別是m和n升(m!=n),還有用不完的水,用這兩個(gè)燒杯能量出什么容積的水?
m, n, m+n, m-n以及線性疊加的組合
5.寫出一個(gè)算法,對(duì)給定的n個(gè)數(shù)的序列,返回序列中的最大和最小的數(shù)。你能設(shè)計(jì)出一個(gè)算法,只需要執(zhí)行1.5n次比較就能找到序列中最大和最小的數(shù)嗎?能否再少?
提示:先通過(guò)兩兩比較(比較0.5n次),區(qū)分大小放入“大”,“小”兩個(gè)數(shù)組中。從而最大數(shù)在“大”數(shù)組中,最小數(shù)在“小”數(shù)組中(比較0.5n+0.5n次)。
6.給你一個(gè)由n-1個(gè)整數(shù)組成的未排序的序列,其元素都是1到n中的不同的整數(shù)。請(qǐng)寫出一個(gè)尋找序列中缺失整數(shù)的線性-時(shí)間算法。
提示:累加求和
【計(jì)算機(jī)常見(jiàn)算法面試/筆試題集】相關(guān)文章:
華為筆試題硬件筆經(jīng)07-11
常見(jiàn)的面試類型07-12
常見(jiàn)面試題的巧妙回答,讓心理學(xué)助你輕松上陣07-11
求銀行面試的面試試題07-12
c面試題08-04
華為面試題07-11
「MySQL」經(jīng)典面試題07-11
采購(gòu)面試題07-11
面試題集錦07-11