LeetCode 3. Longest Substring Without Repeating Characters题解python

xiaoxiao2021-02-28  147

题目地址

题目描述

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.

给你一个串,求没有重复字符的最长子串的长度。样例: 给定串“abcabcbb”,答案是‘abc’,长度是3。 给定串 “bbbbb”,答案是‘b’,长度是1。 给定串 “pwwkew”,答案是‘wke’,长度是3,注意必须是子串,‘pwke’是子序列而不是子串。 class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ maxn, index, dict,start,lenS = 0, 0, {},0,len(s) for i in range(0, lenS): if s[i] in dict and dict[s[i]] >= start: start = dict[s[i]] + 1 index = i - dict[s[i]] else: index += 1 if index > maxn: maxn = index dict[s[i]] = i return maxn

maxn:最大长度 index:遍历到当前的最大长度 dict:某个字母存在的前一个位置。 start:当前位置最大长度的开始计数位置。

转载请注明原文地址: https://www.6miu.com/read-21347.html

最新回复(0)