使用Python的人中最少的两倍

假设我们有一个称为nums的整数数组,现在总有一个最大的元素。我们必须检查数组中最大的元素是否至少是数组中其他每个数字的两倍。如果是这样,那么我们必须找到最大元素的索引,否则返回-1。

因此,如果输入类似于[3,6,1,0],则输出将为1,因为6是最大数,而对于数组x中的每个其他数,6的大小是x的两倍多。由于索引6为1,因此输出也为1。

为了解决这个问题,我们将遵循以下步骤-

  • 最大:=最大数字

  • 对于范围从0到nums的i,执行

    • 返回-1

    • maxindex:=我

    • 如果nums [i]与最大值相同,则

    • 如果nums [i]与最大值和最大值<2 *(nums [i])不同,则

    让我们看下面的实现以更好地理解-

    示例

    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