diff --git a/leetcode-ruby.gemspec b/leetcode-ruby.gemspec index ae672627..9d077606 100644 --- a/leetcode-ruby.gemspec +++ b/leetcode-ruby.gemspec @@ -5,7 +5,7 @@ require 'English' ::Gem::Specification.new do |s| s.required_ruby_version = '>= 3.0' s.name = 'leetcode-ruby' - s.version = '8.2.5.5' + s.version = '8.2.5.6' s.license = 'MIT' s.files = ::Dir['lib/**/*.rb'] + %w[README.md] s.executable = 'leetcode-ruby' diff --git a/test/easy/test_1022_sum_of_root_to_leaf_binary_numbers.rb b/test/easy/test_1022_sum_of_root_to_leaf_binary_numbers.rb index f5f4e61c..e00ff415 100644 --- a/test/easy/test_1022_sum_of_root_to_leaf_binary_numbers.rb +++ b/test/easy/test_1022_sum_of_root_to_leaf_binary_numbers.rb @@ -10,18 +10,8 @@ def test_default_one assert_equal( 22, sum_root_to_leaf( - ::TreeNode.new( - 1, - ::TreeNode.new( - 0, - ::TreeNode.new(0), - ::TreeNode.new(1) - ), - ::TreeNode.new( - 1, - ::TreeNode.new(0), - ::TreeNode.new(1) - ) + ::TreeNode.build_tree( + [1, 0, 1, 0, 1, 0, 1] ) ) ) @@ -31,7 +21,9 @@ def test_default_two assert_equal( 0, sum_root_to_leaf( - ::TreeNode.new(0) + ::TreeNode.build_tree( + [0] + ) ) ) end diff --git a/test/easy/test_2236_root_equals_sum_of_children.rb b/test/easy/test_2236_root_equals_sum_of_children.rb index 0e2ebca1..4ac18bc5 100644 --- a/test/easy/test_2236_root_equals_sum_of_children.rb +++ b/test/easy/test_2236_root_equals_sum_of_children.rb @@ -9,10 +9,8 @@ class RootEqualsSumOfChildrenTest < ::Minitest::Test def test_default_one assert( check_tree( - ::TreeNode.new( - 10, - ::TreeNode.new(4), - ::TreeNode.new(6) + ::TreeNode.build_tree( + [10, 4, 6] ) ) ) @@ -21,10 +19,8 @@ def test_default_one def test_default_two assert( !check_tree( - ::TreeNode.new( - 5, - ::TreeNode.new(3), - ::TreeNode.new(1) + ::TreeNode.build_tree( + [5, 3, 1] ) ) ) diff --git a/test/easy/test_2331_evaluate_boolean_binary_tree.rb b/test/easy/test_2331_evaluate_boolean_binary_tree.rb index b121db55..42df78b7 100644 --- a/test/easy/test_2331_evaluate_boolean_binary_tree.rb +++ b/test/easy/test_2331_evaluate_boolean_binary_tree.rb @@ -9,28 +9,19 @@ class EvaluateBooleanBinaryTreeTest < ::Minitest::Test def test_default_one assert( evaluate_tree( - ::TreeNode.new( - 2, - ::TreeNode.new(1), - ::TreeNode.new( - 3, - ::TreeNode.new(0), - ::TreeNode.new(1) - ) + ::TreeNode.build_tree( + [2, 1, 3, nil, nil, 0, 1] ) ) ) - assert( - !evaluate_tree( - ::TreeNode.new(0) - ) - ) end def test_default_two assert( !evaluate_tree( - ::TreeNode.new(0) + ::TreeNode.build_tree( + [0] + ) ) ) end @@ -38,10 +29,8 @@ def test_default_two def test_additional_one assert( !evaluate_tree( - ::TreeNode.new( - 3, - ::TreeNode.new(0), - ::TreeNode.new(1) + ::TreeNode.build_tree( + [3, 0, 1] ) ) ) diff --git a/test/easy/test_617_merge_two_binary_trees.rb b/test/easy/test_617_merge_two_binary_trees.rb index f6b68da6..9d817f4e 100644 --- a/test/easy/test_617_merge_two_binary_trees.rb +++ b/test/easy/test_617_merge_two_binary_trees.rb @@ -9,41 +9,15 @@ class MergeTwoBinaryTreesTest < ::Minitest::Test def test_default_one assert( ::TreeNode.are_equals( - ::TreeNode.new( - 3, - ::TreeNode.new( - 4, - ::TreeNode.new(5), - ::TreeNode.new(4) - ), - ::TreeNode.new( - 5, - nil, - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [3, 4, 5, 5, 4, nil, 7] ), merge_trees( - ::TreeNode.new( - 1, - ::TreeNode.new( - 3, - ::TreeNode.new(5), - nil - ), - ::TreeNode.new(2) + ::TreeNode.build_tree( + [1, 3, 2, 5] ), - ::TreeNode.new( - 2, - ::TreeNode.new( - 1, - nil, - ::TreeNode.new(4) - ), - ::TreeNode.new( - 3, - nil, - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [2, 1, 3, nil, 4, nil, 7] ) ) ) @@ -53,17 +27,15 @@ def test_default_one def test_default_two assert( ::TreeNode.are_equals( - ::TreeNode.new( - 2, - ::TreeNode.new(2), - nil + ::TreeNode.build_tree( + [2, 2] ), merge_trees( - ::TreeNode.new(1), - ::TreeNode.new( - 1, - ::TreeNode.new(2), - nil + ::TreeNode.build_tree( + [1] + ), + ::TreeNode.build_tree( + [1, 2] ) ) ) diff --git a/test/easy/test_637_average_of_levels_in_binary_tree.rb b/test/easy/test_637_average_of_levels_in_binary_tree.rb index f112a678..795d4911 100644 --- a/test/easy/test_637_average_of_levels_in_binary_tree.rb +++ b/test/easy/test_637_average_of_levels_in_binary_tree.rb @@ -8,16 +8,14 @@ class AverageOfLevelsInBinaryTreeTest < ::Minitest::Test def test_default_one assert_equal( - [3.00000, 14.50000, 11.00000], + [ + 3.00000, + 14.50000, + 11.00000 + ], average_of_levels( - ::TreeNode.new( - 3, - ::TreeNode.new(9), - ::TreeNode.new( - 20, - ::TreeNode.new(15), - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [3, 9, 20, nil, nil, 15, 7] ) ) ) @@ -25,16 +23,14 @@ def test_default_one def test_default_two assert_equal( - [3.00000, 14.50000, 11.00000], + [ + 3.00000, + 14.50000, + 11.00000 + ], average_of_levels( - ::TreeNode.new( - 3, - ::TreeNode.new( - 20, - ::TreeNode.new(15), - ::TreeNode.new(7) - ), - ::TreeNode.new(9) + ::TreeNode.build_tree( + [3, 9, 20, 15, 7] ) ) ) diff --git a/test/easy/test_653_two_sum_iv_input_is_a_bst.rb b/test/easy/test_653_two_sum_iv_input_is_a_bst.rb index cdbedb8b..e6b0101c 100644 --- a/test/easy/test_653_two_sum_iv_input_is_a_bst.rb +++ b/test/easy/test_653_two_sum_iv_input_is_a_bst.rb @@ -9,18 +9,8 @@ class TwoSumIVInputIsABSTTest < ::Minitest::Test def test_default_one assert( find_target( - ::TreeNode.new( - 5, - ::TreeNode.new( - 3, - ::TreeNode.new(2), - ::TreeNode.new(4) - ), - ::TreeNode.new( - 6, - nil, - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [5, 3, 6, 2, 4, nil, 7] ), 9 ) @@ -30,18 +20,8 @@ def test_default_one def test_default_two assert( !find_target( - ::TreeNode.new( - 5, - ::TreeNode.new( - 3, - ::TreeNode.new(2), - ::TreeNode.new(4) - ), - ::TreeNode.new( - 6, - nil, - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [5, 3, 6, 2, 4, nil, 7] ), 28 ) diff --git a/test/easy/test_671_second_minimum_node_in_a_binary_tree.rb b/test/easy/test_671_second_minimum_node_in_a_binary_tree.rb index e1b949ba..768e1c98 100644 --- a/test/easy/test_671_second_minimum_node_in_a_binary_tree.rb +++ b/test/easy/test_671_second_minimum_node_in_a_binary_tree.rb @@ -10,14 +10,8 @@ def test_default_one assert_equal( 5, find_second_minimum_value( - ::TreeNode.new( - 2, - ::TreeNode.new(2), - ::TreeNode.new( - 5, - ::TreeNode.new(5), - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [2, 2, 5, nil, nil, 5, 7] ) ) ) @@ -27,10 +21,8 @@ def test_default_two assert_equal( -1, find_second_minimum_value( - ::TreeNode.new( - 2, - ::TreeNode.new(2), - ::TreeNode.new(2) + ::TreeNode.build_tree( + [2, 2, 2] ) ) ) diff --git a/test/easy/test_700_search_in_a_binary_search_tree.rb b/test/easy/test_700_search_in_a_binary_search_tree.rb index 203bb044..4f381b31 100644 --- a/test/easy/test_700_search_in_a_binary_search_tree.rb +++ b/test/easy/test_700_search_in_a_binary_search_tree.rb @@ -9,20 +9,12 @@ class SearchInABinarySearchTreeTest < ::Minitest::Test def test_default_one assert( ::TreeNode.are_equals( - ::TreeNode.new( - 2, - ::TreeNode.new(1), - ::TreeNode.new(3) + ::TreeNode.build_tree( + [2, 1, 3] ), search_bst( - ::TreeNode.new( - 4, - ::TreeNode.new( - 2, - ::TreeNode.new(1), - ::TreeNode.new(3) - ), - ::TreeNode.new(7) + ::TreeNode.build_tree( + [4, 2, 7, 1, 3] ), 2 ) @@ -33,14 +25,8 @@ def test_default_one def test_default_two assert_nil( search_bst( - ::TreeNode.new( - 4, - ::TreeNode.new( - 2, - ::TreeNode.new(1), - ::TreeNode.new(3) - ), - ::TreeNode.new(7) + ::TreeNode.build_tree( + [4, 2, 7, 1, 3] ), 5 ) diff --git a/test/easy/test_783_minimum_distance_between_bst_nodes.rb b/test/easy/test_783_minimum_distance_between_bst_nodes.rb index b82da6f3..e7af5982 100644 --- a/test/easy/test_783_minimum_distance_between_bst_nodes.rb +++ b/test/easy/test_783_minimum_distance_between_bst_nodes.rb @@ -10,14 +10,8 @@ def test_default_one assert_equal( 1, min_diff_in_bst( - ::TreeNode.new( - 4, - ::TreeNode.new( - 2, - ::TreeNode.new(1), - ::TreeNode.new(3) - ), - ::TreeNode.new(6) + ::TreeNode.build_tree( + [4, 2, 6, 1, 3] ) ) ) @@ -27,14 +21,8 @@ def test_default_two assert_equal( 1, min_diff_in_bst( - ::TreeNode.new( - 1, - ::TreeNode.new(0), - ::TreeNode.new( - 48, - ::TreeNode.new(12), - ::TreeNode.new(49) - ) + ::TreeNode.build_tree( + [1, 0, 48, nil, nil, 12, 49] ) ) ) diff --git a/test/easy/test_872_leaf_similar_trees.rb b/test/easy/test_872_leaf_similar_trees.rb index 7f8740f0..fa79bf8d 100644 --- a/test/easy/test_872_leaf_similar_trees.rb +++ b/test/easy/test_872_leaf_similar_trees.rb @@ -9,39 +9,11 @@ class LeafSimilarTreesTest < ::Minitest::Test def test_default_one assert( leaf_similar( - ::TreeNode.new( - 3, - ::TreeNode.new( - 5, - ::TreeNode.new(6), - ::TreeNode.new( - 2, - ::TreeNode.new(7), - ::TreeNode.new(4) - ) - ), - ::TreeNode.new( - 1, - ::TreeNode.new(9), - ::TreeNode.new(8) - ) + ::TreeNode.build_tree( + [3, 5, 1, 6, 2, 9, 8, nil, nil, 7, 4] ), - ::TreeNode.new( - 3, - ::TreeNode.new( - 5, - ::TreeNode.new(6), - ::TreeNode.new(7) - ), - ::TreeNode.new( - 1, - ::TreeNode.new(4), - ::TreeNode.new( - 2, - ::TreeNode.new(9), - ::TreeNode.new(8) - ) - ) + ::TreeNode.build_tree( + [3, 5, 1, 6, 7, 4, 2, nil, nil, nil, nil, nil, nil, 9, 8] ) ) ) @@ -50,15 +22,11 @@ def test_default_one def test_default_two assert( !leaf_similar( - ::TreeNode.new( - 1, - ::TreeNode.new(2), - ::TreeNode.new(3) + ::TreeNode.build_tree( + [1, 2, 3] ), - ::TreeNode.new( - 1, - ::TreeNode.new(3), - ::TreeNode.new(2) + ::TreeNode.build_tree( + [1, 3, 2] ) ) ) diff --git a/test/easy/test_897_increasing_order_search_tree.rb b/test/easy/test_897_increasing_order_search_tree.rb index 96975b33..028c3412 100644 --- a/test/easy/test_897_increasing_order_search_tree.rb +++ b/test/easy/test_897_increasing_order_search_tree.rb @@ -9,60 +9,12 @@ class IncreasingOrderSearchTreeTest < ::Minitest::Test def test_default_one assert( ::TreeNode.are_equals( - ::TreeNode.new( - 1, - nil, - ::TreeNode.new( - 2, - nil, - ::TreeNode.new( - 3, - nil, - ::TreeNode.new( - 4, - nil, - ::TreeNode.new( - 5, - nil, - ::TreeNode.new( - 6, - nil, - ::TreeNode.new( - 7, - nil, - ::TreeNode.new( - 8, - nil, - ::TreeNode.new(9) - ) - ) - ) - ) - ) - ) - ) + ::TreeNode.build_tree( + [1, nil, 2, nil, 3, nil, 4, nil, 5, nil, 6, nil, 7, nil, 8, nil, 9] ), increasing_bst( - ::TreeNode.new( - 5, - ::TreeNode.new( - 3, - ::TreeNode.new( - 2, - ::TreeNode.new(1), - nil - ), - ::TreeNode.new(4) - ), - ::TreeNode.new( - 6, - nil, - ::TreeNode.new( - 8, - ::TreeNode.new(7), - ::TreeNode.new(9) - ) - ) + ::TreeNode.build_tree( + [5, 3, 6, 2, 4, nil, 8, 1, nil, nil, nil, 7, 9] ) ) ) @@ -72,20 +24,12 @@ def test_default_one def test_default_two assert( ::TreeNode.are_equals( - ::TreeNode.new( - 1, - nil, - ::TreeNode.new( - 5, - nil, - ::TreeNode.new(7) - ) + ::TreeNode.build_tree( + [1, nil, 5, nil, 7] ), increasing_bst( - ::TreeNode.new( - 5, - ::TreeNode.new(1), - ::TreeNode.new(7) + ::TreeNode.build_tree( + [5, 1, 7] ) ) ) diff --git a/test/easy/test_938_range_sum_of_bst.rb b/test/easy/test_938_range_sum_of_bst.rb index baed2550..a9c0f676 100644 --- a/test/easy/test_938_range_sum_of_bst.rb +++ b/test/easy/test_938_range_sum_of_bst.rb @@ -10,18 +10,8 @@ def test_default_one assert_equal( 32, range_sum_bst( - ::TreeNode.new( - 10, - ::TreeNode.new( - 5, - ::TreeNode.new(3), - ::TreeNode.new(7) - ), - ::TreeNode.new( - 15, - nil, - ::TreeNode.new(18) - ) + ::TreeNode.build_tree( + [10, 5, 15, 3, 7, nil, 18] ), 7, 15 @@ -33,24 +23,8 @@ def test_default_two assert_equal( 23, range_sum_bst( - ::TreeNode.new( - 10, - ::TreeNode.new( - 5, - ::TreeNode.new( - 3, - ::TreeNode.new(1) - ), - ::TreeNode.new( - 7, - ::TreeNode.new(6) - ) - ), - ::TreeNode.new( - 15, - ::TreeNode.new(13), - ::TreeNode.new(18) - ) + ::TreeNode.build_tree( + [10, 5, 15, 3, 7, 13, 18, 1, nil, 6] ), 6, 10 diff --git a/test/easy/test_965_univalued_binary_tree.rb b/test/easy/test_965_univalued_binary_tree.rb index f3374e2c..bb48a8f0 100644 --- a/test/easy/test_965_univalued_binary_tree.rb +++ b/test/easy/test_965_univalued_binary_tree.rb @@ -9,18 +9,8 @@ class UnivaluedBinaryTreeTest < ::Minitest::Test def test_default_one assert( is_unival_tree( - ::TreeNode.new( - 1, - ::TreeNode.new( - 1, - ::TreeNode.new(1), - ::TreeNode.new(1) - ), - ::TreeNode.new( - 1, - nil, - ::TreeNode.new(1) - ) + ::TreeNode.build_tree( + [1, 1, 1, 1, 1, nil, 1] ) ) ) @@ -29,14 +19,8 @@ def test_default_one def test_default_two assert( !is_unival_tree( - ::TreeNode.new( - 2, - ::TreeNode.new( - 2, - ::TreeNode.new(5), - ::TreeNode.new(2) - ), - ::TreeNode.new(2) + ::TreeNode.build_tree( + [2, 2, 2, 5, 2] ) ) ) diff --git a/test/easy/test_993_cousins_in_binary_tree.rb b/test/easy/test_993_cousins_in_binary_tree.rb index 78c81ea8..2cd514ae 100644 --- a/test/easy/test_993_cousins_in_binary_tree.rb +++ b/test/easy/test_993_cousins_in_binary_tree.rb @@ -9,13 +9,8 @@ class CousinsInBinaryTreeTest < ::Minitest::Test def test_default_one assert( !is_cousins( - ::TreeNode.new( - 1, - ::TreeNode.new( - 2, - ::TreeNode.new(4) - ), - ::TreeNode.new(3) + ::TreeNode.build_tree( + [1, 2, 3, 4] ), 4, 3 @@ -26,18 +21,8 @@ def test_default_one def test_default_two assert( is_cousins( - ::TreeNode.new( - 1, - ::TreeNode.new( - 2, - nil, - ::TreeNode.new(4) - ), - ::TreeNode.new( - 3, - nil, - ::TreeNode.new(5) - ) + ::TreeNode.build_tree( + [1, 2, 3, nil, 4, nil, 5] ), 5, 4 @@ -48,14 +33,8 @@ def test_default_two def test_default_three assert( !is_cousins( - ::TreeNode.new( - 1, - ::TreeNode.new( - 2, - nil, - ::TreeNode.new(4) - ), - ::TreeNode.new(3) + ::TreeNode.build_tree( + [1, 2, 3, nil, 4] ), 2, 3