LeetCode 3 Longest Substring Without Repeating Characters

来源:互联网 发布:厦门小青柑普茶淘宝 编辑:程序博客网 时间:2024/06/05 03:45

能最快想出来的解法,性能肯定不是太好

class Solution {public:    int lengthOfLongestSubstring(string s) {        string s1;int result = 0;int max = 0;int len = s.length();for(int i =0 ;i<len;++i){result = s1.find(s[i]);if(result<0)s1+=s[i];else{max = s1.length()>max? s1.length():max;s1 = s1.substr(result+1);s1+=s[i];}}max = s1.length()>max? s1.length():max;return max;    }};

这个解法会比较好

int lengthOfLongestSubstring(string s) {    if(s.length()<2)        return s.length();    vector<int> charSet(256,-1); //256,all ASCII chars to int    int max_len=0,j=0;    for(int i=0;i<s.length();++i){        j=max(charSet[s[i]]+1,j);        charSet[s[i]]=i;        max_len=max(max_len,i-j+1);    }    return max_len; <pre name="code" class="cpp"> }


0 0
原创粉丝点击