From 993454c7c3b97a49f9ebdd65287f4c42dfbee457 Mon Sep 17 00:00:00 2001 From: fartem Date: Thu, 7 Nov 2024 10:58:33 +0300 Subject: [PATCH] 2024-11-07 v. 6.9.8.1: updated some solutions --- leetcode-ruby.gemspec | 2 +- lib/easy/1417_reformat_the_string.rb | 8 +------- lib/easy/1796_second_largest_digit_in_a_string.rb | 10 +--------- .../1805_number_of_different_integers_in_a_string.rb | 12 ++---------- ...2_check_if_numbers_are_ascending_in_a_sentence.rb | 10 +--------- lib/easy/819_most_common_word.rb | 8 +------- lib/easy/917_reverse_only_letters.rb | 10 ++-------- 7 files changed, 9 insertions(+), 51 deletions(-) diff --git a/leetcode-ruby.gemspec b/leetcode-ruby.gemspec index 7278ea0d..6526a02f 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.9.8' + s.version = '6.9.8.1' s.license = 'MIT' s.files = ::Dir['lib/**/*.rb'] + %w[README.md] s.executable = 'leetcode-ruby' diff --git a/lib/easy/1417_reformat_the_string.rb b/lib/easy/1417_reformat_the_string.rb index 2099e3ad..84030dbd 100644 --- a/lib/easy/1417_reformat_the_string.rb +++ b/lib/easy/1417_reformat_the_string.rb @@ -7,7 +7,7 @@ def reformat(s) letters = [] digits = [] s.each_char do |c| - if _1417_is_letter?(c) + if c =~ /[A-Za-z]/ letters << c else digits << c @@ -37,9 +37,3 @@ def reformat(s) '' end - -# @param {String} s -# @return {Boolean} -def _1417_is_letter?(s) - s =~ /[A-Za-z]/ -end diff --git a/lib/easy/1796_second_largest_digit_in_a_string.rb b/lib/easy/1796_second_largest_digit_in_a_string.rb index ec4949c4..b33a136a 100644 --- a/lib/easy/1796_second_largest_digit_in_a_string.rb +++ b/lib/easy/1796_second_largest_digit_in_a_string.rb @@ -7,7 +7,7 @@ def second_highest(s) max = -1 result = -1 s.each_char do |c| - next unless _1796_is_digit?(c) + next unless c =~ /\d/ num = c.to_i if num > max @@ -20,11 +20,3 @@ def second_highest(s) result end - -# @param {String} s -# @return {Boolean} -def _1796_is_digit?(s) - code = s.ord - - code >= 48 && code <= 57 -end diff --git a/lib/easy/1805_number_of_different_integers_in_a_string.rb b/lib/easy/1805_number_of_different_integers_in_a_string.rb index 25baaf54..b281013b 100644 --- a/lib/easy/1805_number_of_different_integers_in_a_string.rb +++ b/lib/easy/1805_number_of_different_integers_in_a_string.rb @@ -9,7 +9,7 @@ def num_different_integers(word) while p < word.length c = word[p] - unless _1805_is_digit?(c) + unless c =~ /\d/ p += 1 next @@ -17,7 +17,7 @@ def num_different_integers(word) leading_zero = c == '0' num = [] - while _1805_is_digit?(c) + while c =~ /\d/ if !leading_zero num << c elsif c != '0' @@ -38,11 +38,3 @@ def num_different_integers(word) uniq.length end - -# @param {String} s -# @return {Boolean} -def _1805_is_digit?(s) - code = s.ord - - code >= 48 && code <= 57 -end diff --git a/lib/easy/2042_check_if_numbers_are_ascending_in_a_sentence.rb b/lib/easy/2042_check_if_numbers_are_ascending_in_a_sentence.rb index 679f75b9..b82d436f 100644 --- a/lib/easy/2042_check_if_numbers_are_ascending_in_a_sentence.rb +++ b/lib/easy/2042_check_if_numbers_are_ascending_in_a_sentence.rb @@ -6,7 +6,7 @@ def are_numbers_ascending(s) prev = -1 s.split.each do |word| - next unless _2043_is_digit?(word[0]) + next unless word[0] =~ /\d/ num = word.to_i @@ -17,11 +17,3 @@ def are_numbers_ascending(s) true end - -# @param {String} s -# @return {Boolean} -def _2043_is_digit?(s) - code = s.ord - - code >= 48 && code <= 57 -end diff --git a/lib/easy/819_most_common_word.rb b/lib/easy/819_most_common_word.rb index f5d6e127..12379191 100644 --- a/lib/easy/819_most_common_word.rb +++ b/lib/easy/819_most_common_word.rb @@ -11,7 +11,7 @@ def most_common_word(paragraph, banned) counter = 0 words_with_count = {} paragraph.downcase.each_char do |c| - if _819_is_letter?(c) + if c =~ /[A-Za-z]/ word << c else candidate = word.join.strip @@ -30,9 +30,3 @@ def most_common_word(paragraph, banned) most_common_word || word.join end - -# @param {String} s -# @return {Boolean} -def _819_is_letter?(s) - s =~ /[A-Za-z]/ -end diff --git a/lib/easy/917_reverse_only_letters.rb b/lib/easy/917_reverse_only_letters.rb index 9c8fcfaf..4ad8d42e 100644 --- a/lib/easy/917_reverse_only_letters.rb +++ b/lib/easy/917_reverse_only_letters.rb @@ -9,14 +9,14 @@ def reverse_only_letters(s) r = chars.length - 1 while l < r l_c = chars[l] - unless _917_is_letter?(l_c) + unless l_c =~ /[A-Za-z]/ l += 1 next end r_c = chars[r] - unless _917_is_letter?(r_c) + unless r_c =~ /[A-Za-z]/ r -= 1 next @@ -31,9 +31,3 @@ def reverse_only_letters(s) chars.join end - -# @param {String} s -# @return {Boolean} -def _917_is_letter?(s) - s =~ /[A-Za-z]/ -end