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

配列にPythonの残りのすべての要素の合計に等しい要素があるかどうかを確認します


numsという配列があるとすると、その配列に他のすべての要素の合計と同じ値の要素が含まれているかどうかを確認する必要があります。

したがって、入力がnums =[3,2,10,4,1]のような場合、出力はTrue、10 =(3 + 2 + 4 + 1)になります。

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

  • freq:=空のマップ
  • 合計:=0
  • 範囲0からnums-1のサイズのiの場合、do
    • freq [nums [i]]:=freq [nums [i]] + 1
    • 合計:=合計+ nums [i]
  • 合計が偶数の場合、
    • freq [quotient of(total / 2)]がゼロ以外の場合、
      • Trueを返す
  • Falseを返す

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

サンプルコード

from collections import defaultdict
def solve(nums):
   freq = defaultdict(int)

   total = 0
   for i in range(len(nums)):
      freq[nums[i]] += 1
      total += nums[i]
     
   if total % 2 == 0:
      if freq[total // 2]:
         return True
   return False
 
nums = [3,2,10,4,1]
print(solve(nums))

入力

[3,2,10,4,1]

出力

True

  1. Pythonプログラムで配列の合計を見つける

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列の合計を計算するために必要な配列が与えられます。 合計を取得するために各インデックスで配列と要素全体をトラバースするブルートフォースアプローチについては、以下で説明します。合計を取得するための各インデックスについては、以下で説明します。 例 # sum function def sum_(arr,n):    # using built-in function    return(sum(arr)) # main arr = [11,22,33,44,55,66

  2. 配列の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '