Pythonのリスト内のすべての各要素の連結ペアの合計を見つけるプログラム?
numsという番号のリストがあるとします。数字のすべてのペアのすべての連結の合計をnumsで見つける必要があります。ここでは、ペア(i、j)とペア(j、i)は異なると見なされます。
したがって、入力がnums =[5、3]のような場合、次の連結があるため、出力は176になります。(nums [0] + nums [0])=(5 concat 5)=55、( nums [0] + nums [1])=(5連結3)=53、(nums [1] + nums [0])=(3連結5)=35、(nums [0] + nums [0]) =(3連結3)=33の場合、合計は55 + 53 + 35 + 33 =176
これを解決するには、次の手順に従います。
memo := a new map nums1 := nums temp := 0 c := sum of all elements in nums1 a := size of nums for i in range 0 to a, do if nums[i] is same as 0, then temp := temp + c otherwise, if nums[i] is present in memo, then temp := temp + memo[nums[i]] otherwise, b := 0 for j in range 0 to a, do b := b + integer of (nums[i] concatenate nums1[j]) memo[nums[i]] := b temp := temp + memo[nums[i]] return temp
理解を深めるために、次の実装を見てみましょう。
例
class Solution: def solve(self, nums): memo = {} nums1 = nums temp = 0 c = sum(nums1) a = len(nums) for i in range(a): if nums[i] == 0: temp += c else: if nums[i] in memo: temp += memo[nums[i]] else: b = 0 for j in range(a): b += int(str(nums[i]) + str(nums1[j])) memo[nums[i]] = b temp += memo[nums[i]] return temp ob = Solution() nums = [5, 3] print(ob.solve(nums))
入力
[5, 3]
出力
176
-
リスト内の要素の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて
-
リスト内のすべてのペア間の絶対差の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 リスト入力が与えられた場合、リスト内のすべてのペア間の絶対差の合計を見つける必要があります。 列挙() メソッドは、反復可能オブジェクトにカウンターを追加し、それを列挙オブジェクトタイプの形式で返します。 この方法では、絶対差を含むリスト「diffs」があります。 2つの変数が初期化された2つのループを使用します。 1つはカウンターを反復処理し、もう1つはリスト要素を反復処理します。すべての反復で、要素が類似しているかどうかを確認します。 そうでない場合は、絶対差を見つけて、それ