LeetCode题解(1198):找出所有行中最小公共元素(Python)
发布日期:2021-06-29 20:09:49
浏览次数:2
分类:技术文章
本文共 868 字,大约阅读时间需要 2 分钟。
题目:(中等)
标签:哈希表、二分查找
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N l o g M ) O(NlogM) O(NlogM) | O ( N ) O(N) O(N) | 80ms (78.41%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution: def smallestCommonElement(self, mat: List[List[int]]) -> int: size1, size2 = len(mat), len(mat[0]) hashmap = { i: 0 for i in range(size1)} now = [m[0] for m in mat] while len(set(now)) > 1: max_val = max(now) for i in range(size1): idx = bisect.bisect(mat[i], max_val, lo=hashmap[i]) # print(mat[i], max_val, "->", idx - 1) if mat[i][idx - 1] == max_val: hashmap[i] = idx - 1 elif idx >= size2: return -1 else: hashmap[i] = idx now = [mat[i][hashmap[i]] for i in range(size1)] return now[0]
转载地址:https://dataartist.blog.csdn.net/article/details/109848458 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年05月01日 07时53分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
sqoop 原理与部署
2019-04-30
sqoop 实操
2019-04-30
kerberos 环境 MapReduce 跨平台提交
2019-04-30
欧洲杯上那让人惊叹的vivo蓝
2019-04-30
百度昆仑芯片独立背后,或向汽车芯片发起进军
2019-04-30
月活达10亿后,未来快手的“无限”可能
2019-04-30
关于回调注销问题的总结
2019-04-30
Android学习开发路线图
2019-04-30
开发Android主攻四大方向
2019-04-30
Android开发方向
2019-04-30
RAW格式
2019-04-30
Android6.0以上文件读写权限
2019-04-30
Android数据文件存储路径
2019-04-30
LINUX下的SD卡分区
2019-04-30
GDB的使用
2019-04-30
USB摄像头到ARM下图像显示方案
2019-04-30
Android消息处理Handler与Message
2019-04-30
Frambuffer + SDL
2019-04-30
Android四大组件之Broadcast receiver
2019-04-30