1593. 拆分字符串使唯一子字符串的数目最大

简介: 1593. 拆分字符串使唯一子字符串的数目最大

1593. 拆分字符串使唯一子字符串的数目最大

传送门

传送门

题意

bkMAXtvoydLHiuC.png

结题思路

# 思路1:暴力
# 用set()集合去重,每加一个字符时,判断加上它的数目多还是不加它的数目多。
# 从第二个字符开始,使用DFS返回将其合并到上一个集合的最后一个元素中,或单独成为一个集合的一个新元素。
# 取数目最大的分隔数目。
# 搜索的要点:(1)初始状态;
# (2)重复产生新状态;
# (3)检查新状态是否为目标,是结束,否转(2); [1] 
# 如果搜索是以接近起始状态的程序依次扩展状态的,叫宽度优先搜索。
# 如果扩展是首先扩展新产生的状态,则叫深度优先搜索。
class Solution(object):
        def maxUniqueSplit(self, s):
            len1 = len(s)
            if len1 == 1:
                return 1
            def dfs(cur, ss):
                if(cur == len1-1):
                    return len(set(ss.split()))
                cur += 1
                return max(dfs(cur, ss + s[cur]), dfs(cur, ss + ' ' + s[cur]))
            return dfs(0, s[0])

本文如有纰漏,可评论向我提意见哦

简单问题关注我后可以帮忙解答,

祝关注+点赞的小可爱刷题顺利,获得心仪的offer!!

目录
相关文章
|
5月前
|
存储
【字符串】最长不含重复字符的子字符串
【字符串】最长不含重复字符的子字符串
|
2月前
|
存储 算法 索引
|
2月前
|
索引
【面试题】串联所有单词的子串,找到所有符合条件的串联子串的起始索引
【面试题】串联所有单词的子串,找到所有符合条件的串联子串的起始索引
37 0
|
3月前
|
C++
1456. 定长子串中元音的最大数目C++
1456. 定长子串中元音的最大数目C++
|
5月前
1456.定长子串中元音的最大数目
1456.定长子串中元音的最大数目
33 1
|
5月前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
|
5月前
|
存储 算法 前端开发
2788. 按分隔符拆分字符串
2788. 按分隔符拆分字符串
46 0
|
算法
给定m个不重复的字符 [a,b,c,d],以及一个长度为n的字符串tbcacbdata滑动窗口
给定m个不重复的字符 [a,b,c,d],以及一个长度为n的字符串tbcacbdata滑动窗口
229 0
|
Java
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)
115 0
给定一个字符串和一个子串。子串中的字符可能重复,输出子串出现的次数。(Java实现)