Pythonでツリーのすべての要素の合計を見つけるプログラム
いくつかの値を含む二分木があるとすると、ツリー内のすべての値の合計を見つける必要があります。
したがって、入力が次のような場合
その場合、出力は14になります
これを解決するには、次の手順に従います-
-
関数recurse()を定義します。これはノードを取ります
-
val:=ノードの値
-
ノードの左側がnullでない場合、
-
val:=val + recurse(ノードの左側)
-
-
ノードの権利がnullでない場合、
-
val:=val + recurse(ノードの右側)
-
-
戻り値
-
メインの方法から、次のようにします-
-
ルートがゼロ以外の場合、
-
0を返す
-
-
recurse(root)を返す
理解を深めるために、次の実装を見てみましょう-
例
class TreeNode: def __init__(self, data, left = None, right = None): self.val = data self.left = left self.right = right class Solution: def recurse(self, node): val = node.val if node.left: val += self.recurse(node.left) if node.right: val += self.recurse(node.right) return val def solve(self, root): if not root: return 0 return self.recurse(root) ob = Solution() root = TreeNode(2) root.right = TreeNode(4) root.right.left = TreeNode(3) root.right.right = TreeNode(5) print(ob.solve(root))
入力
root = TreeNode(2) root.right = TreeNode(4) root.right.left = TreeNode(3) root.right.right = TreeNode(5)
出力
14
-
リストの累積合計を見つける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 すべての変数と関数はグローバルスコープで宣言されて