Skip to content

Commit c699ab5

Browse files
authored
Merge pull request #627 from fartem/2423_Remove_Letter_To_Equalize_Frequency
2024-05-20 v. 5.7.0: added "2423. Remove Letter To Equalize Frequency"
2 parents 03012b7 + 8694cc8 commit c699ab5

4 files changed

+34
-1
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -430,3 +430,4 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
430430
| 2404. Most Frequent Even Element | [Link](https://leetcode.com/problems/most-frequent-even-element/) | [Link](./lib/easy/2404_most_frequent_even_element.rb) |
431431
| 2413. Smallest Even Multiple | [Link](https://leetcode.com/problems/smallest-even-multiple/) | [Link](./lib/easy/2413_smallest_even_multiple.rb) |
432432
| 2418. Sort the People | [Link](https://leetcode.com/problems/sort-the-people/) | [Link](./lib/easy/2418_sort_the_people.rb) |
433+
| 2423. Remove Letter To Equalize Frequency | [Link](https://leetcode.com/problems/remove-letter-to-equalize-frequency/) | [Link](./lib/easy/2423_remove_letter_to_equalize_frequency.rb) |

leetcode-ruby.gemspec

+1-1
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 = '5.6.9'
8+
s.version = '5.7.0'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[bin/leetcode-ruby README.md LICENSE]
1111
s.executable = 'leetcode-ruby'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/remove-letter-to-equalize-frequency/
4+
# @param {String} word
5+
# @return {Boolean}
6+
def equal_frequency(word)
7+
freq = ::Hash.new(0)
8+
word.each_char { |c| freq[c] += 1 }
9+
10+
freq.each_key do |key|
11+
temp_map = freq.clone
12+
temp_map[key] -= 1
13+
14+
temp_map.delete(key) if temp_map[key].zero?
15+
16+
return true if temp_map.values.uniq.length == 1
17+
end
18+
19+
false
20+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/easy/2423_remove_letter_to_equalize_frequency'
5+
require 'minitest/autorun'
6+
7+
class RemoveLetterToEqualizeFrequencyTest < ::Minitest::Test
8+
def test_default
9+
assert(equal_frequency('abcc'))
10+
assert(!equal_frequency('aazz'))
11+
end
12+
end

0 commit comments

Comments
 (0)