浏览代码

New problem done

master
Lachlan Jacob 5 年前
父节点
当前提交
b21f01b1a2
共有 3 个文件被更改,包括 70 次插入0 次删除
  1. 44
    0
      problems/1161/main.py
  2. 23
    0
      problems/1161/problem.txt
  3. 3
    0
      problems/1161/run.sh

+ 44
- 0
problems/1161/main.py 查看文件

@@ -0,0 +1,44 @@
# Definition for a binary tree node.
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right

class Solution:
def __init__(self):
self.levels = dict()
def maxLevelSum(self, root):
# recursively add sums for all nodes to hashmap with key as level
self.traverseWithLevel(root, 1)
maximum = -1
maxLvl = 1
for key, value in self.levels.items():
if value > maximum:
maxLvl = key
maximum = value
return maxLvl
def traverseWithLevel(self, tree, level):
if tree is None:
return
if level not in self.levels:
self.levels[level] = 0
self.levels[level] += tree.val
self.traverseWithLevel(tree.left, level + 1)
self.traverseWithLevel(tree.right, level + 1)


s = Solution()
print("Expected: 2")
tree = TreeNode(1)
tree.right = TreeNode(2)
tree.left = TreeNode(3)
print("Got:", s.maxLevelSum(tree))


+ 23
- 0
problems/1161/problem.txt 查看文件

@@ -0,0 +1,23 @@
Given the root of a binary tree, the level of its root is 1, the level of its children is 2, and so on.

Return the smallest level X such that the sum of all the values of nodes at level X is maximal.


Example 1:

Input: [1,7,0,7,-8,null,null]
Output: 2
Explanation:
Level 1 sum = 1.
Level 2 sum = 7 + 0 = 7.
Level 3 sum = 7 + -8 = -1.
So we return the level with the maximum sum which is level 2.


Note:

The number of nodes in the given tree is between 1 and 10^4.
-10^5 <= node.val <= 10^5


+ 3
- 0
problems/1161/run.sh 查看文件

@@ -0,0 +1,3 @@
#!/bin/bash

python3 main.py

正在加载...
取消
保存