zoukankan      html  css  js  c++  java
  • 3. Longest Substring Without Repeating Characters

    Problem:

    Given a string, find the length of the longest substring without repeating characters.

    Example 1:

    Input: "abcabcbb"
    Output: 3 
    Explanation: The answer is "abc", with the length of 3. 
    

    Example 2:

    Input: "bbbbb"
    Output: 1
    Explanation: The answer is "b", with the length of 1.
    

    Example 3:

    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.
    

    思路

    Solution (C++):

    int lengthOfLongestSubstring(string s) {
        int n = s.length();
        if (n == 0)  return 0;
        int pre = -1, cur_len = 0, len = 0;
        unordered_map<char, int> map;
        for (auto c : s)  map[c] = -1;
        
        for (int i = 0; i < n; ++i) {
            pre = max(pre, map[s[i]]);
            cur_len = i - pre;
            len = max(len, cur_len);
            map[s[i]] = i;
        }
        return len;
    }
    

    性能

    Runtime: 32 ms  Memory Usage: 8.7 MB

    思路

    Solution (C++):

    int lengthOfLongestSubstring(string s) {
        int n = s.length();
        if (n == 0)  return 0;
        unordered_map<char, int> map;
        int len = 0, last_len = 0;
        for (auto c : s)  map[c] = -1;
        
        for (int i = 0; i < n; ++i) {
            if (i - map[s[i]] <= last_len)
                last_len = i - map[s[i]];
            else 
                ++last_len;
            map[s[i]] = i;
            len = max(len, last_len);
        }
        return len;
    }
    

    性能

    Runtime: 32 ms  Memory Usage: 8.6 MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    iBatis的基本使用
    修改浏览器语言环境
    JavaScript实现级联下拉框
    Spring2.5与JDK8的集成问题
    JDK API文档下载
    C程序:年转化天
    线程基础
    拷贝控制之拷贝、赋值、销毁
    jquery中attr、prop、data
    input 类型为number型时,maxlength不生效?
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12804829.html
Copyright © 2011-2022 走看看