給定乙個字串,找出不含有重複字元的最長子串的長度。
示例1:
輸入:"abcabcbb"
輸出:3
解釋:無重複字元的最長子串是 "abc",其長度為 3。
示例2:
輸入:"bbbbb"
輸出:1
主要思想:「滑動視窗」,使用乙個容器儲存遍歷的字元。
遍歷字串,同時將不重複的字元儲存到視窗中,視窗的右邊界加一,相當於向右滑動了一位;當遇到重複字元時,就從視窗的左邊界縮小視窗大小,直到容器中不包括該重複字元。本質上也是借助外部空間。
解法1:
int lengthoflongestsubstring(strings)
else
}return
max;
}
解法2:
int lengthoflongestsubstring(strings)
max = std::max(max, j - i + 1
);
//右邊界向右滑動一位
mp.emplace(s.at(j), j + 1
); }
return
max;
}
3 無重複字元的最長字串
題目描述 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。s 由英文本母 數字 符號和空格組成。例項 輸入 s abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。link 解題思路 滑動視窗 1 我們使用兩個指標表示字串中某個子串的左右邊界。其中左...
3 無重複字元的最長字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
3 無重複字元的最長子串 字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...