Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで他の少なくとも2倍の最大数


numsという整数配列があるとすると、最大の要素は常に1つだけになります。配列内の最大の要素が、配列内の他のすべての数値の少なくとも2倍であるかどうかを確認する必要があります。そうであれば、最大の要素のインデックスを見つける必要があります。そうでない場合は、-1を返します。

したがって、入力が[3,6,1,0]の場合、出力は1になります。これは、6が最大の数値であり、配列x内の他のすべての数値の場合、6はxの2倍以上の大きさです。 。 6のインデックスは1なので、出力も1になります。

これを解決するには、次の手順に従います-

  • 最大:=最大数
  • 0からnumsのサイズの範囲のiの場合は、
    • nums [i]がmaximumと同じ場合、
      • maxindex:=i
    • nums[i]がmaximumおよびmaximum<2*(nums [i])と同じでない場合、
      • 戻り値-1

理解を深めるために、次の実装を見てみましょう-

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

  1. 数の最大の素因数を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 正の整数nが与えられます。数の最大の素因数を見つける必要があります。 アプローチ 指定された数値を数値の約数で割って因数分解します。 最大素因数を更新し続けます。 例 import math def maxPrimeFactor(n):    # number must be even    while n % 2 == 0:       max_Prime = 2       n /= 1  

  2. Pythonプログラムは最大3つ。

    3つの数abとcが与えられた場合、私たちのタスクは、与えられた数の中から最大の要素を見つけなければならないということです。 例 Input: a = 2, b = 4, c = 3 Output: 4 アルゴリズム Step 1: input three user input number. Step2: Add three numbers to list. Step 3: Using max() function to find the greatest number max(lst). Step 4: And finally we will print maximum numbe