leetcode相關c++演算法解答:
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
輸入: 「abcabcbb」 輸出: 3 解釋: 因為無重複字元的最長子串是 「abc」,所以其長度為 3。
輸入: 「bbbbb」 輸出: 1 解釋: 因為無重複字元的最長子串是 「b」,所以其長度為 1。
輸入: 「pwwkew」 輸出: 3 解釋: 因為無重複字元的最長子串是 「wke」,所以其長度為 3。
1.特殊情況有:空字串if(s.length() == 0) return 0;、
2.使用set來判斷重複字元,seta; if(a.find(s[end])!=a.end())//表明有重複字元
3.定義兩個指標下標,初始化為0,1,有重複移動start,無重複移動end
class solution
}return ret;
}};
(在保證ret之間沒有重複字元下得到ret,所以需要start為最近一次更新沒有重複字元的位置)a b a bcdef a s
1.mapa;
2.未儲存過的字元存入map, a[(s[end])] = end+1; 並修改終值ret = max(ret, end - start + 1); start為最近一次更新沒有重複字元的位置
3.儲存過的利用a.find(s[end])->second得到此字元之前最新一次的位置,並更新ret = max(ret, end - start + 1);之後將現在的位置替換之前最新一次的位置a[(s[end])] = end+1;
class solution
return ret;
}};
無重複字元最長子串(C )
題目 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出...
無重複字元最長子串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
無重複字元最長子串
題目描述 給定乙個字串,找出不含有重複字元的 最長子串 的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是子串行而不是子串 i...