From e5f461f6e08f5df233cd9f6fa5c798c00fc0c5fe Mon Sep 17 00:00:00 2001 From: fartem Date: Sat, 26 Oct 2024 11:05:42 +0300 Subject: [PATCH] 2024-10-26 v. 6.8.9.1: refactored some solutions --- leetcode-ruby.gemspec | 2 +- lib/easy/1005_maximize_sum_of_array_after_k_negations.rb | 2 +- lib/easy/1189_maximum_number_of_balloons.rb | 5 +++-- lib/easy/1200_minimum_absolute_difference.rb | 2 +- ...find_nearest_point_that_has_the_same_x_or_y_coordinate.rb | 2 +- lib/easy/1848_minimum_distance_to_the_target_element.rb | 2 +- ...imum_difference_between_highest_and_lowest_of_k_scores.rb | 2 +- lib/easy/2239_find_closest_number_to_zero.rb | 2 +- lib/easy/2287_rearrange_characters_to_make_target_string.rb | 2 +- lib/easy/2404_most_frequent_even_element.rb | 2 +- ...shortest_distance_to_target_string_in_a_circular_array.rb | 2 +- lib/easy/530_minimum_absolute_difference_in_bst.rb | 2 +- lib/easy/599_minimum_index_sum_of_two_lists.rb | 2 +- lib/easy/783_minimum_distance_between_bst_nodes.rb | 2 +- lib/medium/209_minimum_size_subarray_sum.rb | 2 +- 15 files changed, 17 insertions(+), 16 deletions(-) diff --git a/leetcode-ruby.gemspec b/leetcode-ruby.gemspec index 6810a51c..7e0bba67 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 = '6.8.9' + s.version = '6.8.9.1' s.license = 'MIT' s.files = ::Dir['lib/**/*.rb'] + %w[README.md] s.executable = 'leetcode-ruby' diff --git a/lib/easy/1005_maximize_sum_of_array_after_k_negations.rb b/lib/easy/1005_maximize_sum_of_array_after_k_negations.rb index 3ff904c5..dd85b979 100644 --- a/lib/easy/1005_maximize_sum_of_array_after_k_negations.rb +++ b/lib/easy/1005_maximize_sum_of_array_after_k_negations.rb @@ -17,7 +17,7 @@ def largest_sum_after_k_negations(nums, k) i += 1 end - min = 1_000_000_000_000 + min = ::Float::INFINITY sum = 0 nums.each do |n| sum += n diff --git a/lib/easy/1189_maximum_number_of_balloons.rb b/lib/easy/1189_maximum_number_of_balloons.rb index 8a689759..3002b77b 100644 --- a/lib/easy/1189_maximum_number_of_balloons.rb +++ b/lib/easy/1189_maximum_number_of_balloons.rb @@ -7,10 +7,11 @@ def max_number_of_balloons(text) count = ::Array.new(128, 0) text.each_byte { |b| count[b] += 1 } - result = 1_000_000_000_000 + result = ::Float::INFINITY (0...count.length).each do |i| c = i.chr - value = 1_000_000_000_000 + value = ::Float::INFINITY + case c when 'a', 'b', 'n' value = count[i] diff --git a/lib/easy/1200_minimum_absolute_difference.rb b/lib/easy/1200_minimum_absolute_difference.rb index 2c4607a4..8e2cbeab 100644 --- a/lib/easy/1200_minimum_absolute_difference.rb +++ b/lib/easy/1200_minimum_absolute_difference.rb @@ -5,7 +5,7 @@ # @return {Integer[][]} def minimum_abs_difference(arr) arr.sort! - diff = 1_000_000_000_000 + diff = ::Float::INFINITY (0...(arr.length - 1)).each do |i| abs = (arr[i] - arr[i + 1]).abs diff = abs if diff > abs diff --git a/lib/easy/1779_find_nearest_point_that_has_the_same_x_or_y_coordinate.rb b/lib/easy/1779_find_nearest_point_that_has_the_same_x_or_y_coordinate.rb index b55c33ad..51f55c80 100644 --- a/lib/easy/1779_find_nearest_point_that_has_the_same_x_or_y_coordinate.rb +++ b/lib/easy/1779_find_nearest_point_that_has_the_same_x_or_y_coordinate.rb @@ -7,7 +7,7 @@ # @return {Integer} def nearest_valid_point(x, y, points) result = -1 - distance = 1_000_000_000_000_000 + distance = ::Float::INFINITY (0...points.length).each do |i| point = points[i] p_x = point.first diff --git a/lib/easy/1848_minimum_distance_to_the_target_element.rb b/lib/easy/1848_minimum_distance_to_the_target_element.rb index 9a0254c9..25d3181e 100644 --- a/lib/easy/1848_minimum_distance_to_the_target_element.rb +++ b/lib/easy/1848_minimum_distance_to_the_target_element.rb @@ -6,7 +6,7 @@ # @param {Integer} start # @return {Integer} def get_min_distance(nums, target, start) - result = 1_000_000_000_000 + result = ::Float::INFINITY (0...nums.length).each do |i| num = nums[i] diff --git a/lib/easy/1984_minimum_difference_between_highest_and_lowest_of_k_scores.rb b/lib/easy/1984_minimum_difference_between_highest_and_lowest_of_k_scores.rb index fc5bf2e7..38460e78 100644 --- a/lib/easy/1984_minimum_difference_between_highest_and_lowest_of_k_scores.rb +++ b/lib/easy/1984_minimum_difference_between_highest_and_lowest_of_k_scores.rb @@ -8,7 +8,7 @@ def minimum_difference(nums, k) return 0 if k == 1 nums.sort! - result = 1_000_000_000_000 + result = ::Float::INFINITY ((k - 1)...nums.length).each do |i| result = [result, nums[i] - nums[i - k + 1]].min end diff --git a/lib/easy/2239_find_closest_number_to_zero.rb b/lib/easy/2239_find_closest_number_to_zero.rb index e98f1ad3..95881b69 100644 --- a/lib/easy/2239_find_closest_number_to_zero.rb +++ b/lib/easy/2239_find_closest_number_to_zero.rb @@ -4,7 +4,7 @@ # @param {Integer[]} nums # @return {Integer} def find_closest_number(nums) - min = 1_000_000_000_000 + min = ::Float::INFINITY result = 0 nums.each do |num| abs = num.abs diff --git a/lib/easy/2287_rearrange_characters_to_make_target_string.rb b/lib/easy/2287_rearrange_characters_to_make_target_string.rb index 761f1cb0..79440207 100644 --- a/lib/easy/2287_rearrange_characters_to_make_target_string.rb +++ b/lib/easy/2287_rearrange_characters_to_make_target_string.rb @@ -11,7 +11,7 @@ def rearrange_characters(s, target) t_count = ::Array.new(26, 0) target.each_byte { |b| t_count[b - 97] += 1 } - result = 1_000_000_000_000_000 + result = ::Float::INFINITY (0...t_count.length).each do |i| next if t_count[i].zero? diff --git a/lib/easy/2404_most_frequent_even_element.rb b/lib/easy/2404_most_frequent_even_element.rb index 13650b2b..2b53858f 100644 --- a/lib/easy/2404_most_frequent_even_element.rb +++ b/lib/easy/2404_most_frequent_even_element.rb @@ -15,7 +15,7 @@ def most_frequent_even(nums) return -1 if max.zero? - result = 1_000_000_000_000_000 + result = ::Float::INFINITY map.each { |key, value| result = [result, key].min if value == max } result diff --git a/lib/easy/2515_shortest_distance_to_target_string_in_a_circular_array.rb b/lib/easy/2515_shortest_distance_to_target_string_in_a_circular_array.rb index 4b135b43..9feccbe0 100644 --- a/lib/easy/2515_shortest_distance_to_target_string_in_a_circular_array.rb +++ b/lib/easy/2515_shortest_distance_to_target_string_in_a_circular_array.rb @@ -6,7 +6,7 @@ # @param {Integer} start_index # @return {Integer} def closet_target(words, target, start_index) - max = 1_000_000_000_000_000_000 + max = ::Float::INFINITY result = max words.each_with_index do |word, i| diff --git a/lib/easy/530_minimum_absolute_difference_in_bst.rb b/lib/easy/530_minimum_absolute_difference_in_bst.rb index 220884c2..60eb8f24 100644 --- a/lib/easy/530_minimum_absolute_difference_in_bst.rb +++ b/lib/easy/530_minimum_absolute_difference_in_bst.rb @@ -6,7 +6,7 @@ def get_minimum_difference(root) nums = [] fill_nums(root, nums) - result = 1_000_000_000 + result = ::Float::INFINITY (1...nums.length).each do |i| diff = nums[i] - nums[i - 1] result = diff if diff < result diff --git a/lib/easy/599_minimum_index_sum_of_two_lists.rb b/lib/easy/599_minimum_index_sum_of_two_lists.rb index 96ef9733..c05b054f 100644 --- a/lib/easy/599_minimum_index_sum_of_two_lists.rb +++ b/lib/easy/599_minimum_index_sum_of_two_lists.rb @@ -7,7 +7,7 @@ def find_restaurant(list1, list2) list1_map = {} list1.each_with_index { |val, index| list1_map[val] = index } - min = 1_000_000 + min = ::Float::INFINITY result = [] list2.each_with_index do |val, index| next unless list1_map.include?(val) diff --git a/lib/easy/783_minimum_distance_between_bst_nodes.rb b/lib/easy/783_minimum_distance_between_bst_nodes.rb index 7b553150..4fe43f29 100644 --- a/lib/easy/783_minimum_distance_between_bst_nodes.rb +++ b/lib/easy/783_minimum_distance_between_bst_nodes.rb @@ -8,7 +8,7 @@ def min_diff_in_bst(root) nums = [] apply_min_diff_in_bst(root, nums) - result = 1_000_000_000 + result = ::Float::INFINITY (1...nums.length).each do |i| diff = nums[i] - nums[i - 1] result = diff if diff < result diff --git a/lib/medium/209_minimum_size_subarray_sum.rb b/lib/medium/209_minimum_size_subarray_sum.rb index 1003a0ff..e6294e5a 100644 --- a/lib/medium/209_minimum_size_subarray_sum.rb +++ b/lib/medium/209_minimum_size_subarray_sum.rb @@ -5,7 +5,7 @@ # @param {Integer[]} nums # @return {Integer} def min_sub_array_len(target, nums) - max = 1_000_000_000_000_000 + max = ::Float::INFINITY result = max l = 0 sum = 0