LeetCode 3. Longest Substring Without Repeating Characters

原创 2016年08月30日 19:44:48

题目:

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.

题意:

给定一个字符串,找出其最长的非重复子串。


题解:(By python)

依次遍历整个子串,用临时子串存储当前非重复子串,

如果当前字符不在子串中,则加入此临时子串,

否则,以当前字符为子串开头,重复上述操作,找到最大子串。


代码如下:

class Solution(object):
    def lengthOfLongestSubstring(self, s):
        """
        :type s: str
        :rtype: int
        """
        cur=''
        maxstr=''
        count=0
        for i in range(len(s)):
            if s[i] not in cur: #不在当前子串中
                cur+=s[i]
                count=count+1
                if count>len(maxstr):  #取最大子串
                    maxstr=cur
                    count=len(cur)
            else:                #存在时分割以当前字符为子串起始点
                str=cur.split(s[i])
                cur=str[1]+s[i]
                count=len(cur)
        return  len(maxstr)

此时间复杂度为O(n)。


版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode:3. Longest Substring Without Repeating Characters (java)

题目链接:https://leetcode.com/problems/longest-substring-without-repeating-characters/ 题目: Given a str...
  • j754379117
  • j754379117
  • 2016年06月20日 20:36
  • 849

LeetCode(3) Longest Substring Without Repeating Characters

LeetCode的第3题,给定一个字符串,找到其中的一个最长的字串,使得这个子串不包含重复的字符。 // // Solution.h // LeetCodeOJ_003_LongestUnique...
  • feliciafay
  • feliciafay
  • 2013年11月23日 04:25
  • 16841

LeetCode 3 — Longest Substring Without Repeating Characters (C++ Java Python)

题目:http://oj.leetcode.com/problems/longest-substring-without-repeating-characters/] Given a string, ...
  • dragon_dream
  • dragon_dream
  • 2014年02月18日 22:22
  • 4657

Longest Substring Without Repeating Characters -- LeetCode

原题链接: http://oj.leetcode.com/problems/longest-substring-without-repeating-characters/  这道题用的方法是在Leet...
  • linhuanmars
  • linhuanmars
  • 2014年02月26日 01:53
  • 18836

[LeetCode] 003. Longest Substring Without Repeating Characters (Medium) (C++/Java/Python)

[LeetCode] 003. Longest Substring Without Repeating Characters (Medium) (C++/Java/Python)
  • hcbbt
  • hcbbt
  • 2015年02月27日 12:55
  • 5786

LeetCode 3.Longest Substring Without Repeating Characters c语言版

问题描述: Given a string, find the length of the longest substring without repeating characters. Exa...
  • banana1006034246
  • banana1006034246
  • 2017年07月15日 17:35
  • 304

leetcode 3 Longest Substring Without Repeating Characters最长无重复子串

Given a string, find the length of the longest substring without repeating characters. For example, ...
  • wangyaninglm
  • wangyaninglm
  • 2016年04月05日 22:27
  • 2710

LeetCode 第三题,Longest Substring Without Repeating Characters

题目: Given a string, find the length of the longest substring without repeating characters. For examp...
  • hu1020935219
  • hu1020935219
  • 2014年08月03日 20:38
  • 7642

leetcode python - Longest Substring Without Repeating Characters

# Given a string, find the length of the longest substring without repeating characters. # # Example...
  • AMDS123
  • AMDS123
  • 2017年04月01日 15:07
  • 6337

Longest Substring Without Repeating Characters 最长不重复字符的字串 @LeetCode

Method 1 (Simple) We can consider all substrings one by one and check for each substring whether it ...
  • hellobinfeng
  • hellobinfeng
  • 2014年01月05日 01:56
  • 3311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode 3. Longest Substring Without Repeating Characters
举报原因:
原因补充:

(最多只允许输入30个字)