LeetCode题解(0916):判断单词是否包含指定多个子集(Python)
发布日期:2021-06-29 19:58:16
浏览次数:2
分类:技术文章
本文共 1753 字,大约阅读时间需要 5 分钟。
题目:(中等)
标签:字符串、哈希表
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N + M ) O(N+M) O(N+M) | O ( N + M ) O(N+M) O(N+M) | 960ms (70.08%) |
Ans 2 (Python) | O ( N + M ) O(N+M) O(N+M) | O ( N + M ) O(N+M) O(N+M) | 572ms (99.21%) |
Ans 3 (Python) |
解法一:
class Solution: def wordSubsets(self, A: List[str], B: List[str]) -> List[str]: # 整理子集列表 count = collections.Counter() for b in B: tmp = collections.Counter(b) for key, value in tmp.items(): count[key] = max(count[key], value) # 筛选单词 ans = [] for a in A: tmp = collections.Counter(a) for key, value in count.items(): if count[key] > tmp[key]: break else: ans.append(a) return ans
解法二(解法一效率优化):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCniXRlz-1597741290966)(LeetCode题解(0916)]:截图1.png)
class Solution: def wordSubsets(self, A: List[str], B: List[str]) -> List[str]: # 整理子集列表 count = { } for b in B: tmp = { } for ch in b: if ch not in tmp: tmp[ch] = 1 else: tmp[ch] += 1 if ch not in count: count[ch] = 1 else: count[ch] = tmp[ch] if tmp[ch] > count[ch] else count[ch] # 生成模式 s = [] for ch in count: s.append(ch * count[ch]) s = "".join(s) # 筛选单词 ans = [] for a in A: ans.append(a) for ch in s: if ch in a: a = a.replace(ch, "", 1) else: break else: continue ans.pop() return ans
转载地址:https://dataartist.blog.csdn.net/article/details/108082076 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月30日 17时05分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
QT拖拽功能简介
2019-04-30
Qt拖放
2019-04-30
Qt图片拖放
2019-04-30
android库模块直接依赖时不能重复嵌套依赖
2019-04-30
关于SDK回调Qt函数的问题
2019-04-30
查询linux系统中空闲内存/内存使用状态查看/剩余内存查看
2019-04-30
Linux下屏保设置
2019-04-30
使用开源软件OpenIPMI来监控服务器温度
2019-04-30
使用IPMI管理Linux服务器
2019-04-30
使用ipmi进行服务器管理
2019-04-30
基于Linux的嵌入式系统全程喂狗策略
2019-04-30
linux嵌入式系统开发之看门狗----应用篇。
2019-04-30
看门狗用户空间程序(可用来检测服务器死机)
2019-04-30
scp 使用方法
2019-04-30
Linux man命令的使用方法
2019-04-30
shell高效获取分割字符串的方法?
2019-04-30
Linux Shell编程变量赋值和引用
2019-04-30
计算机专业推荐书籍
2019-04-30
程序员的成长之路
2019-04-30
linux下CPU温度监测
2019-04-30