網路上看到的Google筆試題目 我的解答

2021-05-28 16:40:39 字數 854 閱讀 2361

題目:

n支隊伍比賽,分別編號為0,1,2。。。。n-1,已知它們之間的實力對比關係,儲存在乙個二維陣列w[n][n]中,w[i][j] 的值代表編號為i,j的隊伍中更強的一支 所以w[i][j]=i 或者j,現在給出它們的出場順序,並儲存在陣列order[n]中。

比如order[n] = ,那麼第一輪比賽就是 4對3, 5對8。。。。。。

勝者晉級,敗者淘汰,同一輪淘汰的所有隊伍排名不再細分,即可以隨便排,

程式設計實現,給出二維陣列w,一維陣列order 和 用於輸出比賽名次的陣列result[n],求出result

思路:

題目中已經明確說明了不需要求出每乙個的名次,比賽方法也已經明確給出,因此在演算法的設計時就比較明確了,通過簡單的例子可以看出比賽過程有乙個最多的比賽輪次:log2(n)+1輪。有點像是二叉樹的層數。演算法中使用了乙個輔助的陣列來標記下一輪的的名單,以下**基本上是按照這個思路來的,未仔細測試邊界條件

uint32 w[n][n];	//已知條件

uint32 order[n]; //已知條件

uint32 result[n]; //第i個元素對應了i的名次(應該是淘汰批次)

uint32 getid(uint32 list[n] , uint32 startpos=0)

} return n;

}uint32* bisai(uint32 w[n][n],uint32 order[n])

if( j == w[i][j])

}if( i == j)

}return result;

}

看到的筆試題1128

在 reply reid,recontent 中,reid 是自增列,但 reply 表中的資料被刪除過,即 reid 不是連續的。1 請用一條 sql語句找出排在倒數100 120位置的那20 條資料,按 reid 降序排列 1,select from select top 100 from se...

google筆試題目

google筆試,據說小題都對就進入面試 1 兩個二進位制數的異或結果 2 遞迴函式最終會結束,那麼這個函式一定 不定項選擇 1.使用了區域性變數 2.有乙個分支不呼叫自身 3.使用了全域性變數或者使用了乙個或多個引數 3 以下函式的結果?int cal int x 4 以下程式的結果?void f...

google 筆試題 醜數

題目描述 題目 我們把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8 都是醜數,但 14不是,因為它包含因子 7。習慣上我們把 1當做是第乙個醜數。求按從小到大的順序的第 1500 個醜數。方法1 最簡單的想法就是將所有的數枚舉,直到產生第n個醜數,但次方法比較耗時,且做了很多...