zoukankan      html  css  js  c++  java
  • 1.无重复字符的最长子串

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

    示例 1:

    输入: "abcabcbb"
    输出: 3 
    解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
    

    示例 2:

    输入: "bbbbb"
    输出: 1
    解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
    

    示例 3:

    输入: "pwwkew"
    输出: 3
    解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
         请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
    

    int lengthOfLongestSubstring(string s) {
        if (s.empty())
            return 0;
        else
        {
            int cnt = 1;
            int cc = 1;
            string temp;
            temp.push_back(s[0]);
            for (size_t i = 1; i<s.size(); i++)
            {
                if (temp.find(s[i]) == string::npos)
                {
                    temp.push_back(s[i]);
                    cnt++;
                    if (cc < cnt)
                        cc = cnt;
                }
                else
                {
                    int k=temp.find(s[i]);
                    temp.erase(0,k+1);
                    temp.push_back(s[i]);
                    cnt=temp.size();
                    if (cc < cnt)
                        cc = cnt;
                }
            }
            return cc;
        }
        }
  • 相关阅读:
    gTest&gMock learning
    机器学习 delay learning
    c++ learning
    2017 湘潭邀请赛&JSCPC G&J
    mapreduce&GFS&bigtable learning
    golang learning
    高斩仙的北京历险记
    python learning
    Codeforces Round #448 (Div. 2) B
    python之callable
  • 原文地址:https://www.cnblogs.com/hl249853856/p/10160402.html
Copyright © 2011-2022 走看看