LeetCode题解(0954):二倍数对数组(Python)
发布日期:2021-06-29 20:09:36 浏览次数:4 分类:技术文章

本文共 817 字,大约阅读时间需要 2 分钟。

题目:(中等)

标签:哈希表、数组

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( A l o g A ) O(AlogA) O(AlogA) O ( A ) O(A) O(A) 96ms (97.80%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:    def canReorderDoubled(self, A: List[int]) -> bool:        count = collections.Counter(A)        for k in sorted(count.keys()):            if count[k] > 0:                if k > 0:                    if count[k * 2] >= count[k]:                        count[k * 2] -= count[k]                    else:                        return False                elif k < 0:                    if count[k / 2] >= count[k]:                        count[k / 2] -= count[k]                    else:                        return False                else:  # k=0                    if count[k] % 2 != 0:                        return False        return True

转载地址:https://dataartist.blog.csdn.net/article/details/109839627 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(0957):N天后的牢房(Python)
下一篇:LeetCode题解(0939):最小面积矩形(Python)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 10时50分16秒