olsen-blue/Arai60#49 ハッシュテーブルを使う方法
# @param {String} str
# @return {Integer}
def length_of_longest_substring(str)
visited_char_to_index = Hash.new(-1)
max_length = 0
left = 0
str.size.times do |right|
left = [left, visited_char_to_index[str[right]] + 1].max
max_length = [max_length, right - left + 1].max
visited_char_to_index[str[right]] = right
end
max_length
endこっちの方がシンプルでわかりやすいかも