zoukankan      html  css  js  c++  java
  • [leetcode]3. Longest Substring Without Repeating Characters无重复字母的最长子串

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

    Examples:

    Given "abcabcbb", the answer is "abc", which the length is 3.

    Given "bbbbb", the answer is "b", with the length of 1.

    Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequenceand not a substring.

    题意:

    给定一个字符串, 求其中无重复字母的最长子串

    Solution1:

    maintain a sliding window [start...i], making sure that each char in such window, its frequency is 1 (without Repeating chars)

    when one char's frequency > 1, there is repeating char, then move pointer start to find the next window

    code:

     1 /* 
     2    Time Complexity: O(n)
     3    Space Complexity: O(256)
     4 */
     5 class Solution {
     6     public int lengthOfLongestSubstring(String s) {
     7         // corner case 
     8         if( s == null || s.length() == 0) return 0;
     9         
    10         int[] map = new int[256];
    11         int result = 0;
    12         int start = 0;
    13         for(int i = 0; i < s.length(); i++){
    14             map[s.charAt(i)] ++;
    15             if(map[s.charAt(i)] > 1){
    16                 while(map[s.charAt(i)] > 1){
    17                     map[s.charAt(start)]--;
    18                     start++;
    19                 }
    20             } 
    21            result = Math.max(result, i - start + 1);   
    22         }
    23         return result;
    24     }
    25 }
  • 相关阅读:
    MT9v024总结
    常用芯片电路知识汇总
    octopress 如何添加youku视频和本地视频(octopress how to add a youku video or a local video)
    MT9M021/MT9M031总结
    TC358746AXBG/748XBG 桥接器说明
    mipi 调试经验
    1‘b0 什么意思
    MIPI总结和MIPI规格说明书
    octopress添加回到顶部按钮
    CentOS软件安装目录查找
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/9201944.html
Copyright © 2011-2022 走看看