/*
 * [3] 无重复字符的最长子串
 */

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function (s) {
  const len = s.length
  let left = 0;
  let ans = 0;

  // 控制窗口右边界
  for (let right = 0; right < len; right++) {
    const newVal = s[right]
    // 控制窗口左边界
    for (let i = left; i < right; i++) {
      if (s[i] === newVal) {
        left = i + 1;
        break;
      }
    }
    ans = Math.max(ans, right - left + 1)
  }
  return ans;
};

console.log(lengthOfLongestSubstring('abcabcbb'))
console.log(lengthOfLongestSubstring('bbbbbb'))
console.log(lengthOfLongestSubstring('au'))
console.log(lengthOfLongestSubstring(" "))