合計がkPythonに最も近いリストから3つの一意の要素を見つけるプログラム
numsと呼ばれる数値のリストと別の値kがあるとすると、| a + b + c − k |となるようにnums(a、b、c)で3つの一意のエントリを見つける必要があります。最小化され、絶対差を返します。
したがって、入力がnums =[2、5、25、6] k =14のような場合、[2、5、6]をとると、出力は1になり、絶対差は次のようになります。 | 13 − 14 | =1。
これを解決するには、次の手順に従います-
-
リスト番号を並べ替える
-
ans:=1 ^ 9
-
0からnumsのサイズの範囲のiの場合、実行します
-
j:=i + 1
-
k:=numsのサイズ-1
-
j
-
s:=nums [i] + nums [j] + nums [k]
-
s <=ターゲットの場合、
-
ans:=最小のansとターゲット-s
-
j:=j + 1
-
-
それ以外の場合
-
ans:=ansとsの最小値-ターゲット
-
k:=k − 1
-
-
-
-
ansを返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, nums, target): nums.sort() ans = 1e9 for i in range(len(nums)): j = i + 1 k = len(nums) − 1 while j < k: s = nums[i] + nums[j] + nums[k] if s <= target: ans = min(ans, target - s) j += 1 else: ans = min(ans, s - target) k −= 1 return ans ob1 = Solution() nums = [2, 5, 25, 6] k = 14 print(ob1.solve(nums, k))
入力
[2, 5, 25, 6], 14
出力
1
-
リストの累積合計を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) &
-
リスト内の要素の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて