1593. 拆分字符串使唯一子字符串的数目最大 leetcode第 207 场周赛

    科技2025-01-15  17

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

    传送门

    传送门

    题意

    结题思路

    # 思路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!!

    Processed: 0.011, SQL: 8