1. 程式人生 > >(python)無重複字元的最長子串--演算法

(python)無重複字元的最長子串--演算法

def func(s):
        if s == "":
            return 0
        i = 0
        dict1 = {}
        list1 = []
        for j in range(len(s)):
            if s[j] not in dict1:
                dict1[s[j]] = j
                if j == len(s)-1:
                    list1.append(j-i+1)
            else:
                list1.append(j-i)
                m = dict1[s[j]]
                for key in s[i:dict1[s[j]]+1]:
                    dict1.pop(key)
                dict1[s[j]] = j
                i = m + 1
        return max(list1)

將就著看看吧,差點把自己繞進去。。有什麼好的寫法請推薦

相關推薦

python重複字元長子--演算法

def func(s): if s == "": return 0 i = 0 dict1 = {} list1 = [] for j in range(le

Leetcode題解中級篇之陣列和字串4重複字元長子

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/29/array-and-strings/78/ 題目描述: 給定一個字串,請你找出其中不含有重複字元的 最長子串&nb

重複長子

1:題目:輸入: "abcabcbb"                 輸出: 3                 解釋: 因為無重複字元的最長子

leetcode刷題之重複長子

題目要求:        給定一個字串,找出不含有重複字元的 最長子串 的長度。示例:給定 "abcabcbb" ,沒有重複字元的最長子串是 "abc" ,那麼長度就是3。給定 "bbbbb" ,最長的

求java重複長子

<pre name="code" class="java">public static List getNoRepeatString(String str) { //存

【Leetcode】Python實現重複字元長子

給定一個字串,找出不含有重複字元的最長子串的長度。 示例: 給定 “abcabcbb” ,沒有重複字元的最長子串是 “abc” ,那麼長度就是3。 給定 “bbbbb” ,最長的子串就是 “b” ,長度是1。 給定 “pwwkew” ,最長子串是 “wk

LeetCode刷題筆記(三重複字元長子

題目:給定一個字串,找出不含有重複字元的最長子串的長度。示例:    給定 "abcabcbb" ,沒有重複字元的最長子串是 "abc" ,那麼長度就是3。    給定 "bbbbb" ,最長的子串就是 "b" ,長度是1。    給定 "pwwkew" ,最長子串是 "wk

leetcode-3:Longest Substring Without Repeating Characters 重複字元的子

題目: Given a string, find the length of the longest substring without repeating characters. Example 1: Input: "abcabcbb" Outpu

[LeetCode] 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 len

LeetCode3重複字元的子/C++--Set用法

初始化: map和set封裝了二叉樹等 成員函式方式提供的常用操作,如:插入、排序、刪除、查詢等。 set<int> s; set作為一個容器也是用來儲存同一資料型別的資料型別,並且能從一個數據集合中取出資料,在set中每個元素的值都唯一

Java實現-重複字元的子

public class Solution { /** * @param s: a string * @return: an integer */

需找字串中重複長子

注意此處說的是重複的最長子串,只要出現重複就好,沒說重複的次數。 下面給出的程式碼是程式設計珠璣中給出的一種實現。 他是通過後綴陣列的方式實現的。 #include<stdlib.h>

leetcode 3. 重複字元長子 python語言

class Solution: def lengthOfLongestSubstring(self, s): “”" :type s: str :rtype: int “”" # s為空時返回0 if not s: return 0 # 非空字串的長度最小為1 long = 1 # 子串

4.重複字元長子-leetcode 003python

題目描述 給定一個字串,找出不含有重複字元的最長子串的長度。 示例1 輸入: "abcabcbb" 輸出: 3  解釋: 無重複字元的最長子串是 "abc",其長度為 3。 示例2 輸入: "bbbbb" 輸出: 1 解釋: 無重複字元的最長子串是 "b",其長度為 1。

LeetCode 3.重複字元長子C++、java

本文非原創,參考連結:https://www.cnblogs.com/ariel-dreamland/p/8668286.html (因為這道題大多數部落格寫的是java的程式碼,找了挺久才找到這位小姐姐寫的部落格,C++的解法很全。感謝原作者小姐姐。之前找影象語義分割的部落格也是這位小姐姐的一篇部落格寫得

LeetCode 3.重複字元長子 Longest Substring Without Repeating CharactersC語言

題目描述: 給定一個字串,請你找出其中不含有重複字元的最長子串的長度。 示例 1: 輸入: “abcabcbb” 輸出: 3 解釋: 因為無重複字元的最長子串是 “abc”,所以其長度為 3。 示例 2: 輸入: “bbbbb” 輸出: 1 解釋

leetCode - 重複字元長子Swift實現

要求:給定一個字串,請你找出其中不含有重複字元的最長子串的長度 1 class Solution { 2 func lengthOfLongestSubstring(_ s: String) -> Int { 3 var left = 0 4 var

[leetcode]重複字元長子Longest Substring Without Repeating Characters

無重複字元的最長子串(Longest Substring Without Repeating Characters) 給定一個字串,找出不含有重複字元的最長子串的長度。 示例 1: 輸入: "abcabcbb" 輸出: 3 解釋: 無重複字元的最長子串是 "abc",

LeetCode 重複字元長子探索位元組跳動

題目描述   給定一個字串,請你找出其中不含有重複字元的 最長子串 的長度。 示例 1: 輸入: "abcabcbb" 輸出: 3 解釋: 因為無重複字元的最長子串是 "abc",所以其長度為 3。 示例 2: 輸入: "bbbbb" 輸出

LeetCode 3. 重複字元長子Java版

原題題解 方法一 窮舉所有的子串(定義兩個函式):       ①第一個函式窮舉所有可能出現的子串結果,對於字串的每一個字元,它所構成的子串是下標比它大的所有子串組合             eg:abc               對於a,子串有a, ab,ab