Python 中至少是其他數字兩倍的最大數字
假設我們有一個名為 nums 的整數陣列,現在總是有一個最大元素。我們必須檢查陣列中的最大元素是否至少是陣列中每個其他數字的兩倍。如果是這樣,那麼我們必須找到最大元素的索引,否則返回 -1。
因此,如果輸入類似於 [3,6,1,0],則輸出將為 1,因為 6 是最大數字,並且對於陣列中每個其他數字 x,6 大於 x 的兩倍。由於 6 的索引為 1,因此輸出也為 1。
要解決此問題,我們將遵循以下步驟 -
- maximum := nums 的最大值
- 對於 i 從 0 到 nums 的大小,執行
- 如果 nums[i] 等於 maximum,則
- maxindex := i
- 如果 nums[i] 不等於 maximum 且 maximum < 2*(nums[i]),則
- 返回 -1
- 如果 nums[i] 等於 maximum,則
讓我們看看以下實現以更好地理解 -
示例
class Solution: def dominantIndex(self, nums): maximum = max(nums) for i in range(len(nums)): if nums[i] == maximum: maxindex = i if nums[i] != maximum and maximum < 2*(nums[i]): return -1 return maxindex ob = Solution() print(ob.dominantIndex([3, 6, 1, 0]))
輸入
[3, 6, 1, 0]
輸出
1
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP