Skip to content

Commit 73aaaac

Browse files
authored
2025-01-29 v. 8.3.3: added "1161. Maximum Level Sum of a Binary Tree"
2 parents 614b01b + ae7ca5f commit 73aaaac

File tree

4 files changed

+65
-1
lines changed

4 files changed

+65
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
665665
| 1110. Delete Nodes And Return Forest | [Link](https://leetcode.com/problems/delete-nodes-and-return-forest/) | [Link](./lib/medium/1110_delete_nodes_and_return_forest.rb) | [Link](./test/medium/test_1110_delete_nodes_and_return_forest.rb) |
666666
| 1111. Maximum Nesting Depth of Two Valid Parentheses Strings | [Link](https://leetcode.com/problems/maximum-nesting-depth-of-two-valid-parentheses-strings/) | [Link](./lib/medium/1111_maximum_nesting_depth_of_two_valid_parentheses_strings.rb) | [Link](./test/medium/test_1111_maximum_nesting_depth_of_two_valid_parentheses_strings.rb) |
667667
| 1123. Lowest Common Ancestor of Deepest Leaves | [Link](https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/) | [Link](./lib/medium/1123_lowest_common_ancestor_of_deepest_leaves.rb) | [Link](./test/medium/test_1123_lowest_common_ancestor_of_deepest_leaves.rb) |
668+
| 1161. Maximum Level Sum of a Binary Tree | [Link](https://leetcode.com/problems/maximum-level-sum-of-a-binary-tree/) | [Link](./lib/medium/1161_maximum_level_sum_of_a_binary_tree.rb) | [Link](./test/medium/test_1161_maximum_level_sum_of_a_binary_tree.rb) |
668669
| 1400. Construct K Palindrome Strings | [Link](https://leetcode.com/problems/construct-k-palindrome-strings/) | [Link](./lib/medium/1400_construct_k_palindrome_strings.rb) | [Link](./test/medium/test_1400_construct_k_palindrome_strings.rb) |
669670
| 2116. Check if a Parentheses String Can Be Valid | [Link](https://leetcode.com/problems/check-if-a-parentheses-string-can-be-valid/) | [Link](./lib/medium/2116_check_if_a_parentheses_string_can_be_valid.rb) | [Link](./test/medium/test_2116_check_if_a_parentheses_string_can_be_valid.rb) |
670671
| 2425. Bitwise XOR of All Pairings | [Link](https://leetcode.com/problems/bitwise-xor-of-all-pairings/) | [Link](./lib/medium/2425_bitwise_xor_of_all_pairings.rb) | [Link](./test/medium/test_2425_bitwise_xor_of_all_pairings.rb) |

leetcode-ruby.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ require 'English'
55
::Gem::Specification.new do |s|
66
s.required_ruby_version = '>= 3.0'
77
s.name = 'leetcode-ruby'
8-
s.version = '8.3.2'
8+
s.version = '8.3.3'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/maximum-level-sum-of-a-binary-tree/
4+
# @param {TreeNode} root
5+
# @return {Integer}
6+
def max_level_sum(root)
7+
nodes = [root]
8+
max = -::Float::INFINITY
9+
max_level = 1
10+
level = 1
11+
12+
until nodes.empty?
13+
size = nodes.size
14+
sum = 0
15+
16+
size.times do
17+
node = nodes.shift
18+
sum += node.val
19+
20+
nodes << node.left if node.left
21+
nodes << node.right if node.right
22+
end
23+
24+
if sum > max
25+
max = sum
26+
max_level = level
27+
end
28+
29+
level += 1
30+
end
31+
32+
max_level
33+
end
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/common/binary_tree'
5+
require_relative '../../lib/medium/1161_maximum_level_sum_of_a_binary_tree'
6+
require 'minitest/autorun'
7+
8+
class MaximumLevelSumOfABinaryTreeTest < ::Minitest::Test
9+
def test_default_one
10+
assert_equal(
11+
2,
12+
max_level_sum(
13+
::TreeNode.build_tree(
14+
[1, 7, 0, 7, -8, nil, nil]
15+
)
16+
)
17+
)
18+
end
19+
20+
def test_default_two
21+
assert_equal(
22+
2,
23+
max_level_sum(
24+
::TreeNode.build_tree(
25+
[989, nil, 10_250, 98_693, -89_388, nil, nil, nil, -32_127]
26+
)
27+
)
28+
)
29+
end
30+
end

0 commit comments

Comments
 (0)