Pythonのターゲットよりも小さい2つの数値の合計を見つけるプログラム
numsと呼ばれる数値のリストがあり、ターゲット値もあるとすると、合計が最大(target-1)であるnumsの数値の最大ペアの合計を見つける必要があります。
したがって、入力がnums =[8、3、4、9、2] target =8の場合、8未満の数値の最大ペアの合計は4 + 3 =7であるため、出力は7になります。
これを解決するには、次の手順に従います-
- リスト番号を並べ替える
- p1:=0
- p2:=numsのサイズ-1
- m:=-inf
- p1
- nums [p1] + nums [p2]
- m:=最大mおよび(nums [p1] + nums [p2])
- p1:=p1 + 1
- nums [p1] + nums [p2]
- p2:=p2-1
例
理解を深めるために、次の実装を見てみましょう-
import math def solve(nums, target): nums.sort() p1 = 0 p2 = len(nums) - 1 m = -math.inf while p1 < p2: if nums[p1] + nums[p2] < target: m = max(m, nums[p1] + nums[p2]) p1 += 1 else: p2 -= 1 return m nums = [8, 3, 4, 9, 2] target = 8 print(solve(nums, target))
入力
[8, 3, 4, 9, 2], 8
出力
7
-
Pythonプログラムで配列の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列の合計を計算するために必要な配列が与えられます。 合計を取得するために各インデックスで配列と要素全体をトラバースするブルートフォースアプローチについては、以下で説明します。合計を取得するための各インデックスについては、以下で説明します。 例 # sum function def sum_(arr,n): # using built-in function return(sum(arr)) # main arr = [11,22,33,44,55,66
-
配列の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '