Given a string, find the length of the longest substring without repeating characters.
Input: "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3.
Input: "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1.
Input: "pwwkew" Output: 3 Explanation: The answer is "wke", with the length of 3.
Note that the answer must be a substring, "pwke" is a subsequence and not a substring.ios
// // main.cpp // 最長無重複子串 // // Created by mac on 2019/7/16. // Copyright © 2019 mac. All rights reserved. // #include <iostream> #include <string.h> #include <algorithm> #include <vector> using namespace std; class Solution { public: int lengthOfLongestSubstring(string s) { string tmp=""; vector<int> Max = {0}; for (int i=0; i<s.size(); ++i) { if (tmp.find(s[i])==18446744073709551615 && !s.empty()) { tmp.append(1,s[i]); if(i==s.size()-1){ Max.push_back(tmp.size()); } }else{ Max.push_back(tmp.size()); i=i-tmp.size(); tmp=""; } } return *max_element(Max.begin(),Max.end()); } }; int main(int argc, const char * argv[]) { string a="ghhvvgyjkkkhgfrtyjjhhhhuuikikjhytyyuik"; string b=""; if (a==b) { cout<<"相等"<<endl; } //cout<<a[1]<<endl; // cout<<a.size()<<endl; //18446744073709551615 //cout<<a.find("k")<<endl; if (-1!=18446744073709551615) { cout<<"相等了"<<endl; } Solution so; cout<<so.lengthOfLongestSubstring(a)<<endl; cout<<a.empty()<<endl; return 0; }
8 0 Program ended with exit code: 0