文字列を指定すると、重複文字が含まれていない長男の列の長さC++を見つけてください.
1083 ワード
例1:
入力:“abcabcbb”出力:3解釈:重複文字のない最長男列は“abc”であるため、その長さは3である.例2:
入力:「bbbbb」出力:1解釈:重複文字のない長男列は「b」であるため、その長さは1である.例3:
入力:「pwwkew」出力:3解釈:重複文字のない長男列は「wke」であるため、その長さは3である.
入力:“abcabcbb”出力:3解釈:重複文字のない最長男列は“abc”であるため、その長さは3である.例2:
入力:「bbbbb」出力:1解釈:重複文字のない長男列は「b」であるため、その長さは1である.例3:
入力:「pwwkew」出力:3解釈:重複文字のない長男列は「wke」であるため、その長さは3である.
class Solution {
public:
int lengthOfLongestSubstring(string s) {
auto item = s.begin();
vector v; // vector
int max = 0; //
int StringLen = 0; //
while (item != s.end()) {
auto check = find(v.begin(), v.end(),*it1); // v
if (it3 == v.end()) { // ,
v.push_back(*item); // v
StringLen++; //
}
else { // vector
if (max < StringLen) max =StringLen; // lin , lin ,
v.erase(v.begin(), check+1); //
v.push_back(*item); // v
StringLen = v.size(); //lin vector
}
item++; //
}
if (max < StringLen) max = StringLen; // max
return max;
}
};