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