Longest Substring Without Repeating Characters
import scala.collection.mutable.HashMap
def lengthOfLongestSubstring(s: String): Int = {
var map = new HashMap[Char, Int]
var j, k, length = 0
for ((c, i) <- s.zipWithIndex) {
k = map.get(c).getOrElse(j)
j = j max k
length = length max i - j
map += (c -> i)
}
length
}
lengthOfLongestSubstring("")
lengthOfLongestSubstring("pwwkew")
lengthOfLongestSubstring("bbbbb")
lengthOfLongestSubstring("abcabcbb")Last updated