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

Pythonでターゲットの合計を取得するために必要な最小要素の追加を見つけるプログラム


numsと呼ばれる数のリストと、別の2つの変数kとtがあるとします。範囲[-k、k]の要素eを選択し、それを最後のnumsに挿入する操作を考えてみましょう。必要な操作の最小数を見つけて、数値の合計がターゲットと等しくなるようにする必要があります。

したがって、入力がnums =[3、1] k =4 t =19のような場合、[3、1、4、4、4、3]のように加算して合計19を取得できるため、出力は4になります。 。

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

  • total:=numsに存在するすべての要素の合計

  • diff:=|t-合計|

  • 結果:=(diff / k)のフロア

  • 結果*kがdiffと同じでない場合、

    • 結果:=結果+ 1

  • 結果を返す

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

def solve(nums, k, t):
   total = sum(nums)

   diff = abs(t - total)
   result = diff // k

   if result * k != diff:
      result = result + 1

   return result

nums = [3, 1]
k = 4
t = 19
print(solve(nums, k, t))

入力

[3, 1], 4, 19

出力

4

  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プログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 入力された数値を指定して、指定された数値の因子の最小合計を求めます。 ここでは、すべての因子とそれに対応する合計を計算し、それらの中から最小値を見つけます。 したがって、数の積の最小合計を見つけるために、積の素因数の合計を見つけます。 これが問題の反復実装です- 例 #iterative approach def findMinSum(num):    sum_ = 0    # Find factors of number and add to the sum