詳解 nebula 2.0 效能測試和 nebula-importer 資料匯入調優
阿新 • • 發佈:2021-07-12
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
給定一個字串s
,請你找出其中不含有重複字元的最長子串的長度。
示例1:
輸入: s = "abcabcbb"
輸出: 3
解釋: 因為無重複字元的最長子串是 "abc",所以其
長度為 3。
示例 2:
輸入: s = "bbbbb"
輸出: 1
解釋: 因為無重複字元的最長子串是 "b"
,所以其長度為 1。
示例 3:
輸入: s = "pwwkew" 輸出: 3 解釋: 因為無重複字元的最長子串是"wke"
,所以其長度為 3。 請注意,你的答案必須是 子串 的長度,"pwke"
是一個子序列,不是子串。
示例 4:
輸入: s = "" 輸出: 0
提示:
0 <= s.length <= 5 * 104
s
由英文字母、數字、符號和空格組成
建滑動視窗,每次丟掉當前的位置s[i],最大程度滑動右指標。
class Solution { public: int lengthOfLongestSubstring(string s) { unordered_set<char> set_; int j = -1;int ans = 0; for(int i = 0; i < s.length(); i ++){ if(i!=0){ set_.erase(s[i-1]); } while(j+1<s.length() && !set_.count(s[j+1])){ set_.insert(s[j+1]); j++; } ans = max(ans, j-i+1); } return ans; } };