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

Pythonで合計がターゲットに指定されているサブリストの数を見つけるプログラム


numsと呼ばれる数値のリストと別の値のターゲットがあるとすると、合計がターゲットと同じサブリストの数を見つける必要があります。

したがって、入力がnums =[3、0、3] target =3のようである場合、合計が3であるこれらのサブリストがあるため、出力は4になります。[3]、[3、0]、[0、 3]、[3]。

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

  • temp:=空のマップ
  • temp [0]:=1
  • s:=0
  • ans:=0
  • 0からnumsのサイズの範囲のiの場合は、
    • s:=s + nums [i]
    • comp:=s-ターゲット
    • compが一時的なものである場合、
      • ans:=ans + temp [comp]
    • temp [s]:=temp [s] + 1
  • 回答を返す

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

サンプルコード

from collections import defaultdict

class Solution:
   def solve(self, nums, target):
      temp = defaultdict(int)
      temp[0] = 1
      s = 0
      ans = 0
      for i in range(len(nums)):
         s += nums[i]
         comp = s - target
         if comp in temp:
            ans += temp[comp]
            temp[s] += 1
         return ans

ob = Solution()
nums = [3, 0, 3]
target = 3
print(ob.solve(nums, target))

入力

[3, 0, 3], 3

出力

4

  1. Pythonプログラムで数の偶数因子の合計を見つける

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。 アプローチ 数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。 数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。 偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。 次に、以下の実装を見てみましょう- 例 # math

  2. 数の奇数因子の合計を見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数値入力nが与えられた場合、タスクは数値の奇数因子の合計を見つけることです。 ここでは、最初にすべての偶数の要因を排除する必要があります。 すべての偶数因子を削除するために、nを2で割り切れるまで繰り返し除算します。このステップの後、数の奇数因子のみを取得します。 以下は実装です- 例 import math def sumofoddFactors( n ):    #prime factors    res = 1    # ignore e