码迷,mamicode.com
首页 > 其他好文 > 详细

3. Longest Substring Without Repeating Characters

时间:2017-08-06 00:18:23      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:遍历   包括   which   tps   action   pull   and   wrap   开头   

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 subsequence and not a substring.

 

首先看到这个题就要想到怎么来处理。

 

O(N^2)做法

以第一层for循环的i为子串的结尾遍历一遍母串

然后pos为每一个串的开头,只要有相同的那么下一个串,结尾是i+1,已经包括了i,i跟前面的有冲突,记录为j,所以pos记录为j+1,从没冲突的开始即可。

用Max记录每一个串的最大长度:

public class Solution {
       public int lengthOfLongestSubstring(String s) {
        
        if(s.length()==0) return 0;
        int pos = 0;
        int Max = 1;
        int flag = 0;
        int cnt = 1;
        String ans = "";
        for(int i = 1; i < s.length(); i++) {        
            flag = 0;
            for(int j = pos; j < i; j++) {                
                if(s.charAt(i) == s.charAt(j)) {
                    flag = 1;
                    pos = j+1;//如果有相同的,那么下一个遍历的点就要跳过这个,集合不能包括这个
                    break;
                }                
                    cnt++;            
            }                    
                    Max = Max>cnt?Max:cnt;
                    cnt = 1;                        
        }
        return Max;
        
    }
}

 

3. Longest Substring Without Repeating Characters

标签:遍历   包括   which   tps   action   pull   and   wrap   开头   

原文地址:http://www.cnblogs.com/zhangmingzhao/p/7292000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!