搜狗面試
阿新 • • 發佈:2018-11-10
1.java實現連結串列反轉
2.c++
假設 Linux 中有兩個陣列 pid 和 ppid,他們等長,並且相同的位置,分別表示程序號和其對應的父程序號。現在想要 kill 某一個程序,請設計程式,列印輸出需要 kill 掉的所有程序號。
pid 9, 0, 10, 67, 23, 45, 100
ppid 0, 0, 0, 23, 10, 10, 45
kill 10
1 void Kill(vector<int> pid,vector<int> ppid,int num){ 2 3 int len=pid.size(); 4queue<int> que(110,-1); 5 vector<int> ans(len*2+1,-1); 6 vector<int> sto(110,-1); 7 for(int i=0;i<len;i++){ 8 sto[pid[i]]=ppid[i]; 9 } 10 for(int i=0;i<110;i++){ 11 if(sto[i]==num){ 12 que.push(i); 13 ans.push_back(i); 14 } 15 } 16 while(!que.empty()){ 17 int temp=que.front();18 que.pop(); 19 for(int i=0;i<110;i++){ 20 if(sto[i]==temp){ 21 que.push(i); 22 ans.push_back(i); 23 } 24 } 25 } 26 return ans; 27 28 }