- 相關推薦
Google公司預選筆試題及分析
Google公司預選筆試題及分析
大家有興趣看看吧,5/10 sjtu的考卷。
選擇題3、8我蒙的,大牛給解答一下。
1.單項選擇題
1. 下面一段代碼的輸出是[ ]
void fn( int* b){
(*b)++;
}
int main(){
int a=7;
fn(&a);
cout
}
A.0 B.7 C.8 D.undefined
2. 定義int i,j,*p=&i; 那么下面哪條語句可以完成i=j的賦值[ ]
A.i=*p; B. *p=*&j; C.i=&j; D.I=**p;
3. 用二叉搜索樹和哈希表存儲相同的數(shù)據(jù)集,對于以下何種操作,二叉搜索樹比哈希表& lt;br/>
速度更快?[ ]
A.檢索 B. 插入 C.刪除 D.更新 E.排序
4. 包含N個幾點和M條邊的有向帶權(quán)圖G, 邊的權(quán)為正, 以下操作中不可以在O(N+M)
的時間復雜度內(nèi)完成的操作是:[ ]
A. 求結(jié)點s到結(jié)點t之間的最短距離
B. 求距離結(jié)點s最近的結(jié)點
C. 已知起始結(jié)點, 對圖G中的結(jié)點進行拓撲排序
D. 求圖G的最大強連通子圖
5. 有如下遞歸函數(shù) f(n),其時間復雜度為[ ]
int f(int n){
if(n==0)
return 0;
if(n==1)
return 1;
return ( 5*f(n-1) - 6*f(n-2));
}
A.O(n) B. O(n^2) C. O(n^3) D. O(2^n)
6. 下面所述步驟中,哪一個不是創(chuàng)建經(jīng)常所必需有的[ ]
A.由調(diào)度程序為進程分配CPU B.建立一個進程控制塊
C.為進程分配內(nèi)存 D.將進程控制塊鏈入就緒隊列
7. 在多進程的系統(tǒng)中,為了保證公區(qū)變量的完整性,各進程應互斥進入臨界區(qū)。所謂臨
界區(qū)是[ ]
A.一個緩沖區(qū) B.一個數(shù)據(jù)區(qū) C.一個同步機構(gòu) D.一段程序
8. 能產(chǎn)生滿足如下條件語言的正則表達式是:1.每一個a后至少緊跟兩個c; 2.每一個b
后至少緊跟一個c [ ]
A.(acc|bc|c)* B.(acc|bc)* C.(ac|bc)* D.不是正則語言
9. 以下哪項不是RPC(遠程過程調(diào)用)的特點 [ ]
A.速度快 B.降低系統(tǒng)耦合度 C.可以實現(xiàn)異構(gòu)系統(tǒng)間的協(xié)作
10. 有三個桶,容量分別是3升,5升,7升,你只能進行下面的操作:
把一個桶中所有的水倒掉;
把一個桶A中的水倒入桶B,直到桶A空了或者桶B滿了;
假設一開始容量為3升和5升的桶是滿的,7升的桶是空的,希望通過一系列操作使3個桶
中任意一個中正好有4升水,那么至少需要[ ]次操作。
A.3 B.5 C.7 D.不可能
2. 程序設計與算法
2.1 實現(xiàn)如下編碼算法,對于重復2-9次數(shù)的字符,用兩個數(shù)字表示,即NX(其中N為重
復的次數(shù),X為重復的字符,下同),超過九個則先輸出9X,然后處理剩下的字符。對于
連續(xù)的不重復的字符,則兩邊加1來封字符串。如果被封的字符串其中有數(shù)字為1,則用1
來轉(zhuǎn)義。 示例: AAAAAABCCCC -> 6A1B14C, 12344 -> 11123124。。。(下面的框
架是用C++語言寫的。你可以用你熟悉的語言。)
void encode (const char* text, char* dest)
text 為需要編碼的字符串,dest表示編碼輸出的目標空間,而空間足夠大
2.2給定一顆有n個結(jié)點的二叉樹。求它的所有結(jié)點數(shù)為m的連通子圖數(shù)目。m<=n分析你的
算法的時間復雜度,解釋算法即可,不必寫代碼。
【Google公司預選筆試題及分析】相關文章:
Google公司預選筆試試題02-18
google招聘筆試題02-18
Google筆試題目分享11-21
google公司的招聘題目02-16
名企面試試題 面試題目 Google02-24
南方筆試題及分析02-18
經(jīng)典面試題 及答案分析11-20
華為的筆試題及分析目02-18
google的招聘怪題02-18