Skip to content

Latest commit

 

History

History
21 lines (19 loc) · 573 Bytes

File metadata and controls

21 lines (19 loc) · 573 Bytes

step2 他の方の解答を見る

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

こっちの方がシンプルでわかりやすいかも