LeetCode题解(0767):重构字符串至相邻字符不相同(Python)
发布日期:2021-06-29 19:58:08
浏览次数:3
分类:技术文章
本文共 936 字,大约阅读时间需要 3 分钟。
题目:(中等)
标签:字符串
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N ) O(N) O(N) | O ( N ) O(N) O(N) | 28ms (99.81%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一(排序法):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QkjADl1Z-1597723375778)(LeetCode题解(0767)]:截图1.png)
class Solution: def reorganizeString(self, S: str) -> str: # 统计每个字母的出现频次 count = [(S.count(x), x) for x in set(S)] # 计算是否可以构成字符串 if max(count, key=lambda k: k[0])[0] > (len(S) + 1) / 2: return "" # 构成临时字符串 count.sort(key=lambda k: k[0]) nums = [] for num, x in count: nums += [x] * num # # 生成结果字符串 ans = [] i1 = 0 i2 = int(len(S) / 2) first = True for i in range(len(S)): if first: ans.append(nums[i2]) i2 += 1 else: ans.append(nums[i1]) i1 += 1 first = not first return "".join(ans)
转载地址:https://dataartist.blog.csdn.net/article/details/108074285 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月06日 21时19分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MySQL 查看存储引擎
2019-04-30
MySQL 删除数据库
2019-04-30
TypeScript 安装
2019-04-30
TypeScript 基础类型
2019-04-30
typescript 用name作为变量名报错的原因
2019-04-30
TypeScript 变量声明
2019-04-30
typeScript 变量作用域
2019-04-30
TypeScript 运算符
2019-04-30
TypeScript 条件语句
2019-04-30
微信小程序 响应的数据绑定
2019-04-30
微信小程序框架
2019-04-30
微信小程序 场景值
2019-04-30
微信小程序 APP() 的那些事
2019-04-30
python 第一个程序 hello python
2019-04-30
python 注释
2019-04-30
python 变量类型
2019-04-30
Python int() 函数
2019-04-30
scrapy 框架安装
2019-04-30
scrapy 创建项目和新建爬虫
2019-04-30
scrapy 爬取起点中文网的作品分类
2019-04-30