This approach is based on Ruby’s
String#count method. It takes the string
j as the set of characters to count in the string
s. This is the fastest and the simplest solution.
def num_jewels_in_stones(j, s) stones = Hash.new 0 s.each_char do |char| stones[char] += 1 end sum = 0 j.each_char do |char| sum += stones[char] end return sum end
First, we iterate through the string
s and create a hash called
stones that uses the characters in
s as keys and their occurrence as values. Then we go through each character of
j and sum up their occurrences.