無重複字元的最長字串C

2021-10-02 12:28:01 字數 442 閱讀 4397

2020/02/03

class solution 

setdict;

int i = 0;

dict.insert(s[i]);

int rtn = 1;

for (int j = 1; j < s_len; j ++)

dict.insert(s[j]);

} else else}}

}return rtn;

}};

基本的思路是利用雜湊表來保證不重複的約束,利用雙指標搜尋滿足約束的最長子串,j指標為前探指標,用於搜尋最長子串。i指標為基準點,當子串違反約束時,i指標前移使子串重新滿足約束。為了保證一般性,本題用的是set。但是如果能提前保證字串內每個字元的取值範圍最好的方法是建立列舉陣列,陣列為布林陣列,第k個元素代表ascii碼為k的元素是否出現在當前的子串中。

無重複最長字串 (C )

題目描述 給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。加...

無重複字元的最長字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...

無重複字元的最長字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 這種字串字串問題,經常用到滑動...