1、給出一行C語言表達(dá)式,判斷給定的整數(shù)是否是一個(gè)2的冪。
2、一個(gè)大小為N的數(shù)組,所有數(shù)都是不超過N-1的正整數(shù)。用O(N)的時(shí)間找出重復(fù)的那個(gè)數(shù)(假設(shè)只有一個(gè))。一個(gè)大小為N的數(shù)組,所有數(shù)都是不超過N+1的正整數(shù)。用O(N)的時(shí)間找出沒有出現(xiàn)過的那個(gè)數(shù)(假設(shè)只有一個(gè))。
3、如何快速找出一個(gè)32位整數(shù)的二進(jìn)制表達(dá)里有多少個(gè)"1"?用關(guān)于"1"的個(gè)數(shù)的線性時(shí)間?
4、你在一幢100層大樓下,有21根電線線頭標(biāo)有數(shù)字1..21。這些電線一直延伸到大樓樓頂,樓頂?shù)木頭處標(biāo)有字母A..U。你不知道下面的數(shù)字和上面的字母的對(duì)應(yīng)關(guān)系。你有一個(gè)電池,一個(gè)燈泡,和許多很短的電線。如何只上下樓一次就能確定電線線頭的對(duì)應(yīng)關(guān)系?
5、用線性時(shí)間和常數(shù)附加空間將一個(gè)長(zhǎng)度為n的字符串向左循環(huán)移動(dòng)m位(例如,"abcdefg"移動(dòng)3位就變成了"defgabc")。
6、兩個(gè)機(jī)器人,初始時(shí)位于數(shù)軸上的不同位置。給這兩個(gè)機(jī)器人輸入一段相同的程序,使得這兩個(gè)機(jī)器人保證可以相遇。程序只能包含“左移n個(gè)單位”、“右移n個(gè)單位”,條件判斷語句If,循環(huán)語句while,以及兩個(gè)返回Boolean值的函數(shù)“在自己的起點(diǎn)處”和“在對(duì)方的起點(diǎn)處”。你不能使用其它的變量和計(jì)數(shù)器。
7、你在一個(gè)飛船上,飛船上的計(jì)算機(jī)有n個(gè)處理器。突然,飛船受到外星激光武器的攻擊,一些處理器被損壞了。你知道有超過一半的處理器仍然是好的。你可以向一個(gè)處理器詢問另一個(gè)處理器是好的還是壞的。一個(gè)好的處理器總是說真話,一個(gè)壞的處理器總是說假話。用n-2次詢問找出一個(gè)好的處理器。
8、用線性時(shí)間和常數(shù)附加空間將一篇文章的單詞(不是字符)倒序。
友情提示:閱讀了本文“谷歌面試題”,本站中國(guó)人才網(wǎng)(cnrencai)面試頻道還為你提供更多“面試問題”相關(guān)文章閱讀