首页 > 其他分享 >48. 最长不含重复字符的子字符串

48. 最长不含重复字符的子字符串

时间:2023-08-01 11:36:36浏览次数:26  
标签:字符 return 48 dfs print len 字符串 dp dpcopy

# 例如对于 arabcacfr,最长不含重复字符的子字符串为 acfr,长度为 4。
def lengthOfLongestSubstring(s="arabcacfr"):
    def dfs(s, dp):
        if len(s) == 0:
            print(dp)
            return len(dp)
        if s[:1] in dp:
            print(dp)
            return max(len(dp), dfs(s, []))
        dpcopy = dp.copy()
        dpcopy.append(s[:1])
        return dfs(s[1:], dpcopy)
    return dfs(s, [])


print(lengthOfLongestSubstring())

output:

['a', 'r']
['a', 'b', 'c']
['a', 'c', 'f', 'r']
4

标签:字符,return,48,dfs,print,len,字符串,dp,dpcopy
From: https://www.cnblogs.com/aolob/p/17596006.html

相关文章

  • 46. 把数字翻译成字符串
    #例如12258一共有5种,分别是abbeh,lbeh,aveh,abyh,lyh。defnumDecodings(s="12258"):defdfs(s,dp):iflen(s)==0:print(dp)returniflen(s)>=2andint(s[:2])<=26:dpcopy=dp.copy()......
  • POJ 1548 Robots
    \(POJ\)\(1548\)\(Robots\)题意相当于给出\(N\)个坐标点,因为机器人只能向下或者向右走,所以如果能到达其他点,则连接这两个点,即line[i][j]=1最小路径覆盖数:对于一个\(DAG\)(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长度可以为零;(有向图中找一些路径,使......
  • 《字符串篇》string类进行转换等操作
    C++中的string类用法简介原文链接:https://blog.csdn.net/liitdar/article/details/80498634概述string是C++标准库的一个重要的部分,主要用于字符串处理。c_str(),string转换为char*//方法一:使用c_str()方法,代码(stringsimple.cpp)如下:#include<string>#include<iostream......
  • 左旋字符串
    字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。解法1:用切片和“+”实现 点击查看代码classsolution{publicStringreverseLe......
  • 字符编码笔记:ASCII,Unicode和UT…
    字符编码笔记:ASCII,Unicode和UTF-8作者:阮一峰今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对......
  • 2800.包含三个字符串的最短字符串-356
    包含三个字符串的最短字符串给你三个字符串a,b和c,你的任务是找到长度最短的字符串,且这三个字符串都是它的子字符串。如果有多个这样的字符串,请你返回字典序最小的一个。请你返回满足题目要求的字符串。注意:两个长度相同的字符串a和b,如果在第一个不相同的字符......
  • 2023-07-31:用r、e、d三种字符,拼出一个回文子串数量等于x的字符串。 1 <= x <= 10^5。 来
    2023-07-31:用r、e、d三种字符,拼出一个回文子串数量等于x的字符串。1<=x<=10^5。来自百度。答案2023-07-31:大体步骤如下:1.初始化一个字符串builder,用于构建结果字符串。2.初始化一个字符变量cur,初始值为'r',用于轮流使用字符'r'、'e'和'd'构建回文串。3.进入循环,直到输入......
  • [NOI2023] 字符串
    对于给出的串\(S\),将其拓展成\(S+\)特殊字符\(+rev(S)\),求出其后缀数组。那么对于一个子串\([l,r]\),合法的必要条件是\(l\)的后缀在后缀数组的排名小于\(r\)的前缀的排名。之所以是必要条件,是因为会记入一些\([l,r]\)是回文串且\(l\)的排名小的情况。具体而言,这......
  • P9482 [NOI2023] 字符串
    P9482[NOI2023]字符串限制长的很像回文串,但是是字典序关系。定睛一看比较的是原串\(s\)的一个后缀的前缀和翻转串\(s'\)的一个后缀的前缀比字典序。直接把\(s'\)拼到\(s\)后面,中间加个分隔符,来一次后缀排序。排名小的后缀字典序比排名大的后缀小。设当前比较的是......
  • sqlserver SELECT显示和PRINT打印超长的字符
    步骤一:SSMS里返回的列值长度限制,问题没有解决步骤二:使用如下方式”Cast或FORXMLPATH;问题还是一样printCast(@AgentListastext)select@AgentListforxmlPath('')selectCAST(@AgentListasXML)分析问题:一直只显示50字符,最终找到问题所在,是定义的变量长度的问题,@Agen......