LeetCode 🟡 1535. Find the Winner of an Array Game
🔗 🟡 1535. Find the Winner of an Array Game 1433
tags: Weekly Contest 200
模擬(Simulation)
題意
給定一個由 不同 整陣列成的整數陣列 和一個整數 。
在每一輪遊戲中,比較陣列的前兩個元素(即 和 ),較大 的整數將 獲勝 並保留在位置 ,較小的整數將移至陣列的末尾。當一個整數連續獲勝 輪時,遊戲結束。
返回將贏得遊戲的整數,給定的數據確保遊戲一定會有獲勝者。
思路:模擬(Simulation)
若完全依照題意模擬,則時間複雜度約為 ,當 時,會有較大的時間複雜度。不妨思考一下,到底有沒有必要模擬 輪遊戲?
顯然是不用的,若一個整數贏了 次,其一定是最大值,因此當 時,此時直接返回最大值即可。
故首先特判 的情況,若不是,則進行模擬遊戲,並在遊戲結束時返回贏家。
複雜度分析
- 時間複雜度:
- 空間複雜度:
1 | class Solution: |
1 | class Solution { |
寫在最後
Cover photo is generated by @たろたろ, thanks for their work!
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 十六個天亮!
評論
WalineGiscus