给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
func lengthOfLongestSubstring(_ s: String) -> Int {
if s.count == 0 {
return 0;
}
var map = [String: Int]();
var maxs = 0;
var left = 0;
let stringArray = s.map{ $0 };
for (i, sub) in stringArray.enumerated() {
if map.keys.contains(String(sub)) {
left = max(left, (map[String(sub)]! + 1));
}
map.updateValue(i, forKey: String(sub));
maxs = max(maxs, i - left + 1);
}
return maxs;
}