Google筆試題

才智咖 人氣:2.95W


1、 兩個二進位制數的異或結果

Google筆試題

2、 遞迴函式最終會結束,那麼這個函式一定(不定項選擇):

1).  使用了局部變數
2). 有一個分支不呼叫自身
3).  使用了全域性變數或者使用了一個或多個引數

3、以下函式的結果?

int cal(int x)
{
  if(x==0)
   return 0;
  else
   return x+cal(x-1);
}

4、 以下程式的結果?
void foo(int*a, int* b)
{
        *a = *a+*b;
        *b = *a-*b;
        *a = *a-*b;
}

void main()
{
        int a=1, b=2, c=3;
        foo(&a,&b);
        foo(&b,&c);
        foo(&c,&a);
        printf("%d, %d, %d", a,b,c);
}

5、下面哪項不是連結串列優於陣列的特點?
    1. 方便刪除 2. 方便插入 3. 長度可變 4. 儲存空間小
6、T(n) = 25T(n/5)+n^2的'時間複雜度?

7、n個頂點,m條邊的全連通圖,至少去掉幾條邊才能構成一棵樹?

8、正則表示式(01|10|1001|0110)*與下列哪個表示式一樣?
    1.(0|1)*  2.(01|01)*   3.(01|10)*   4.(11|01)*   5.(01|1)*

9、如何減少換頁錯誤?
    1. 程序傾向於佔用CPU   2. 訪問區域性性(locality of reference)滿足程序要求
    3. 程序傾向於佔用I/O  4.使用基於最短剩餘時間(shortest remaining time)的排程機制
    5. 減少頁大小

10、實現兩個N*N矩陣的乘法,矩陣由一維陣列表示

11、找到單向連結串列中間那個元素,如果有兩個則取前面一個

12、長度為n的整數陣列,找出其中任意(n-1)個乘積最大的那一組,只能用乘法,不可以用除法。要求對演算法的時間複雜度和空間複雜度作出分析,不要求寫程式。

TAGS:google 筆試