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

Pythonの現在のインデックスを除くすべての要素の製品のリストを検索するプログラム


numsという番号のリストがあるとすると、新しく生成されたリストのインデックスiの各要素が、インデックスiの番号を除く元のリストのすべての番号の積になるような新しいリストを見つける必要があります。ここでは、除算を使用せずに解決する必要があります。

したがって、入力がnums =[2、3、4、5、6]の場合、出力は[360、240、180、144、120]

になります。

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

  • numsのサイズが1未満の場合、
    • 数値を返す
  • l:=numsのサイズ
  • left:=サイズlのリストで、最初はすべての値がnullです
  • right:=サイズlのリストで、最初はすべての値がnullです
  • temp:=1
  • 0からnumsのサイズの範囲のiの場合は、
    • iが0と同じ場合、
      • left [i]:=temp
    • それ以外の場合、
      • temp:=temp * nums [i-1]
      • left [i]:=temp
  • temp:=1
  • nums-1から0の範囲サイズのiの場合、1ずつ減らします。
    • iがnums-1のサイズと同じである場合、
      • right [i]:=temp
    • それ以外の場合、
      • temp:=temp * nums [i + 1]
      • right [i]:=temp
  • 0からnumsのサイズの範囲のiの場合は、
    • left [i]:=left [i] * right [i]
  • 左に戻る

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

class Solution:
   def solve(self, nums):
      if len(nums) < 1:
         return nums
      l = len(nums)
      left = [None] * l
      right = [None] * l
      temp = 1
      for i in range(len(nums)):
         if i == 0:
            left[i] = temp
         else:
            temp = temp * nums[i - 1]
            left[i] = temp
      temp = 1
      for i in range(len(nums) - 1, -1, -1):
         if i == len(nums) - 1:
            right[i] = temp
         else:
            temp = temp * nums[i + 1]
            right[i] = temp
      for i in range(len(nums)):
         left[i] = left[i] * right[i]
      return left
ob = Solution()
nums = [2, 3, 4, 5, 6]
print(ob.solve(nums))

入力

[2, 3, 4, 5, 6]

出力

[360, 240, 180, 144, 120]

  1. リスト内の最小数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal

  2. リスト内の要素の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて