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

Pythonで特定の操作を実行した後、最後にゼロに減少するインデックスを見つけます


n個の数値と別の入力Kを持つ配列Aがあるとすると、特定の操作を実行した後、最後にゼロに縮小されるインデックスを見つける必要があります。操作の説明は次のとおりです-

A[0]からA[N– 1]まで、各要素をA [i] =A [i] – Kとして更新します。ここで、A [i]

すべての要素が0になるまで操作を繰り返す必要があります。そして、最後にゼロになるインデックスを返します。

したがって、入力がA =[4、3、6、8、3、10]でK =4の場合、操作は次のようになり、出力は5になります-操作1-A ={0、0、2 、4、0、6}操作2 − A ={0、0、0、0、0、2}操作3 − A ={0,0、0、0、0、0}

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

  • n:=Aのサイズ

  • idx:=-1

  • 0からnの範囲のiの場合、実行

    • A [i]:=(A [i] + k --1)/ k

  • 0からnの範囲のiの場合、実行

    • A [i]> =xの場合、

      • x:=A [i]

      • idx:=i

  • idxを返す

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

def search_index(A, k):
   n = len(A)
   idx = -1
   x = -10**9
   for i in range(n):
      A[i] = (A[i] + k - 1) // k
   for i in range(n):
      if (A[i] >= x):
         x = A[i]
         idx = i
   return idx
arr = [4, 3, 6, 8, 3, 10]
K = 4
print(search_index(arr, K))

入力

[4, 3, 6, 8, 3, 10], 4

出力

5

  1. Pythonで特定の操作を実行した後、最後にゼロに減少するインデックスを見つけます

    n個の数値と別の入力Kを持つ配列Aがあるとすると、特定の操作を実行した後、最後にゼロに縮小されるインデックスを見つける必要があります。操作の説明は次のとおりです- A[0]からA[N– 1]まで、各要素をA [i] =A [i] – Kとして更新します。ここで、A [i]

  2. Pythonでアイテムを含むリストを指定してアイテムのインデックスを見つける方法は?

    リスト内の要素の位置(そのことに関する任意のシーケンスデータ型)は、index()メソッドによって取得されます。このメソッドは、指定された要素の最初の出現インスタンスを検索します。 >>> L1=[45, 32, 100, 10, 24, 56] >>> L1.index(24) 4