七夕鵲橋;及數字遊戲分析
今日面試題:七夕鵲橋
有n對喜鵲。每一對可以表示為(x,y),x、y是喜鵲的編號,並且任意一對,x總是小於y。(c,d)可以連線在(a,b)之後,當且僅當b
=========================================
數字遊戲分析
原題
盒子中有n張卡片,上面的數字分別為k1,k2,...,kn。你有4次機會,每抽一次,記錄下卡片上的數字,再將卡片放回盒子中。如果4個數字的和等於m。則你就贏得遊戲,否則就是輸。直覺上,贏的可能性太低了。請你給出程式,判斷是否有贏的可能性。儘量提高方法的效率。
分析
這個題目,和之前Google的一個概率的題目是類似的,當然解決的方法也是類似的,思路大家可以找找前面的題目,不再贅述。
這個題目其實想和大家講一下思考問題、改進解法的思路。
這個題目最直接的方法就是四重迴圈遍歷,n^4的時間複雜度,比較恐怖,但確實一個很好的起點。不用覺得很丟人,只要我們持續改進即可。
假設a,b,c是k1到kn中的三個數字,是否存在d使得,a+b+c+d=m?d在k1到kn中。和題目中的意思是一樣的,變換等式如下:
d = m - a - b - c
如果滿足上式,就是說,要在k1到k2中查詢d,即:查詢m - a - b - c,找到就存在;找不到,就是不存在。查詢有線性查詢,二分查詢等。四重迴圈最內一層迴圈,可以認為是線性的查詢,如果想更快一些,可以應用二分查詢,而二分查詢需要k1到kn是排序的,則先對n個數字進行排序,時間複雜度O(nlogn)。然後最內一層迴圈,改為二分查詢,時間複雜度為O(n^3logn)。所以總的時間複雜度為O(n^3logn)。
經過上面的分析,我們可以得到啟發,既然可以提出一個d,那麼就可以再提出一個c。將a+b+c+d=m轉換為c+d=m-a-b。這樣,我們可以列舉k1到kn的兩個數的和,然後對n2個和,進行排序,時間複雜度為o(n^2logn)。然後遍歷n^2個和,設每一個和為pair,查詢是否存在m-pair,同樣二分查詢,時間複雜度為O(n^2logn)。總的時間複雜度為O(n^2logn)。
經過上面的層層分析,大家能否發現,對於演算法的持續改進,還是有一些竅門的,大家細心領悟。領悟得多了,必會有更大的進步。
這個題目其實解法比較多,出了上面介紹的,還有別的方法,比如應用一些資料結構。大家可以開動自己的腦筋,不斷的發散。不要為了完成一個題目而去思考。應該嘗試不同的思路,即使思路的時間、空間的複雜度並不好,但是隻要能夠分析清楚。這就是很大的進步。這些也是我們給大家介紹面試題的一個初衷。我們儘可能的將問題分析透徹,希望能夠給大家以啟迪。
【分析完畢】
本文來自微信:待字閨中,2013-08-14釋出,原創@陳利人 ,歡迎大家繼續關注微信公眾賬號“待字閨中”。
相關文章
- 七夕特別篇|用Python繪畫牛郎織女在鵲橋相見Python
- 程式猿生存指南-62 鵲橋銀河
- 數字遊戲遊戲
- 猜數字遊戲遊戲
- Shell猜數字遊戲遊戲
- 猜數字小遊戲遊戲
- 【Java】——猜數字遊戲Java遊戲
- 誰來拯救數字遊戲?遊戲
- 1082. 數字遊戲 (數位DP)遊戲
- 歷屆試題 數字遊戲(數學)遊戲
- 填數字遊戲解題機遊戲
- 使用者猜數字遊戲遊戲
- CCG數字遊戲,誰主沉浮?遊戲
- linux實現猜數字小遊戲Linux遊戲
- 聚焦工業裝置智慧運維,雲洲扁鵲賦能行業數字化運維行業
- LeetCode 299 猜數字遊戲 Java實現LeetCode遊戲Java
- 7-24 猜數字遊戲 (15分)遊戲
- 數字遊戲策劃學習筆記遊戲筆記
- C#之簡易猜數字遊戲C#遊戲
- SeekTiger數字老虎NFT遊戲系統開發遊戲
- 七夕情人節發微信紅包吉利數字 情人節發紅包什麼數字寓意好
- 數字孿生的實現方案及可行性分析
- 2020海外博彩遊戲市場及產品案例分析遊戲
- 贈書|萬款遊戲、8年經驗,數數科技《遊戲資料分析》重磅推薦遊戲
- 為什麼遊戲裡的數字,真的“值錢”?遊戲
- Rust學習之旅1——寫個猜數字遊戲Rust遊戲
- 【python小練習】簡單的猜數字遊戲Python遊戲
- 數字解讀第二屆中國遊戲盛典遊戲
- 成都數字文創:成都遊戲沉浮二十年遊戲
- iOS 小遊戲專案——數字速算升級版iOS遊戲
- 遊戲論 | 移動遊戲產業:監控式資本與數字玩工遊戲產業
- 盛趣遊戲謝斐:遊戲的微光 照亮數字文化產業的未來遊戲產業
- 2024遊戲行業新人入行分析及幾點建議遊戲行業
- Python 英文的月份轉數字及數字轉英文Python
- 透過編寫“猜數字”遊戲來學習 Awk遊戲
- 數字版遊戲,終於能賣二手了?遊戲
- 黑五經濟!數字遊戲創收43.6億美元遊戲
- 關於數字藏品系統開發程式分析及玩法案例
- wordle game 猜字遊戲GAM遊戲