LeetCode题解(1030):距离顺序排序矩阵单元格(Python)
发布日期:2021-06-29 19:55:15
浏览次数:4
分类:技术文章
本文共 1008 字,大约阅读时间需要 3 分钟。
题目:(简单)
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( R × C l o g ( R × C ) ) O(R×Clog(R×C)) O(R×Clog(R×C)) | O ( R × C ) O(R×C) O(R×C) | 212ms (32.52%) |
Ans 2 (Python) | O ( R × C l o g ( R × C ) ) O(R×Clog(R×C)) O(R×Clog(R×C)) | O ( R × C ) O(R×C) O(R×C) | 172ms (91.44%) |
Ans 3 (Python) |
LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。
解法一(自定义排序):
def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> List[List[int]]: ans = [] for i in range(R): for j in range(C): ans.append([i, j]) ans.sort(key=lambda p: abs(p[0] - r0) + abs(p[1] - c0)) return ans
解法二:
def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> List[List[int]]: ans = { } for i in range(R): for j in range(C): distance = abs(i - r0) + abs(j - c0) if distance not in ans: ans[distance] = [[i, j]] else: ans[distance].append([i, j]) res = [] for key in sorted(ans.keys()): res.extend(ans[key]) return res
转载地址:https://dataartist.blog.csdn.net/article/details/107101411 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月06日 12时15分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
javascript - 数据处理
2019-04-30
css ===== text-decoration
2019-04-30
css ===== white-space
2019-04-30
uniApp - 商城项目 - 1 项目搭建
2019-04-30
uniApp - 商城项目 2 - 底部导航
2019-04-30
CentOS7增加或修改SSH端口号
2019-04-30
Android回弹阻尼效果的简单实现,非基于ListView,ScrollView
2019-04-30
CentOS7部署轻量级web服务器nginx+php
2019-04-30
Android Studio爬过的坑
2019-04-30
Android签名生成和Android签名格式转换工具(MD5和SHA1签名)
2019-04-30
玩转Android Studio自定义模板插件-MVP模板为例
2019-04-30
reactNative 加载图片
2019-04-30
HTTP response报文结构
2019-04-30
css sprite是什么、有什么优缺点
2019-04-30
清除浮动的⼏种⽅式
2019-04-30
CSS在性能优化方面的实践
2019-04-30
CSS3动画(简单动画的实现,如旋转等)
2019-04-30
base64的原理及优缺点
2019-04-30
几种常见的CSS布局
2019-04-30
stylus/sass/less区别
2019-04-30