8. 寫一段程式去計算某「字串」(String)是否為另一字串的翻轉
挑戰:這是挑戰你是否能夠跳脫現有的運算思維。
例如,「字串」通常代表幾行可以被印刷和看見的字母或文字,但是也可以代表二維的矩陣(matrix)或其他物件。問
你必須確認是否你可以讓一個字串翻轉,包括非文字的字串。
9. 舊金山市中有多少個氣球?
挑戰:這是Google面試官常出的典型問題,來考考你所設定的「條件範圍」種類為何?
問題的解法有超多,而加上限制條件來簡化問題(例如舊金山有幾平方哩),對於撰寫程式來說相當重要。
10. 何謂「sticky bit」,為何使用它?
挑戰:「sticky bit」是系統管理員設定及權限的專有名詞。
Google想考考是否你知道系統管理的細微處,而非只是撰寫程式。
11. 給定一列整數,位於已知的短整數(short)及未知的數值範圍之內,如何找出其中位數
挑戰:這是考你解決一個在個別數學課中可能學過的數學小技巧。
這問題不簡單。
12. 給定一組區間,找出區間中交集(intersection)的最大數字
挑戰:Google想考你是否確認你知道要忽略此問題中無用的論述,專注於問題正確的部分,以便能找出更有效率的運算法。
13. 一組陣列內有從1到100的100個整數,重新洗牌過後,一個整數被取出,請找出該整數。
挑戰:這個問題運用另一個數學小技巧,就可以在幾行程式中寫出來。
此問題測試你不只知道如何運用數學小技巧,更知道如何將此技巧用程式寫出來。
14. 判斷一個數獨(Sudoku)的解法是否正確
挑戰:這要考你是否能找想出一個用算數檢查解法的方式,可以用另一個數學技巧很快算出
15. <給定股票的每日價格,找出你如何可以在一個買賣交易中輸最多。
挑戰:這是一個不尋常的問題,要考你將所有數字放在一起。
先確定範圍條件(找出通常有大波動的股票),再有效去的去計算中間最大的波動。我們能想到唯一像樣的解法,是用暴力解法在每支股票間進行計算。
留言列表