# @param {String} s1 # @param {String} s2 # @return {Boolean} def check_inclusion(s1, s2) hsh={};hsh.default=0 tly=s1.chars.tally;tly.default=0 ('a'..'z').each{|c|tly[c]=tly[c];hsh[c]=hsh[c]} (0...s1.size).each{|i|hsh[s2[i]]+=1} return true if hsh==tly (0...s2.size-s1.size).each do|i| hsh[s2[i]]-=1 hsh[s2[i+s1.size]]+=1 return true if hsh==tly end false end
슬라이딩 윈도우 기법