LeetCode题解(1175):质数排列(Python)
发布日期:2021-06-29 19:55:30
浏览次数:2
分类:技术文章
本文共 1315 字,大约阅读时间需要 4 分钟。
题目:(简单)
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N ) O(N) O(N) | O ( N ) O(N) O(N) | 44ms (57.83%) |
Ans 2 (Python) | O ( N ) O(N) O(N) | O ( N ) O(N) O(N) | 40ms (83.48%) |
Ans 3 (Python) |
LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。
解法一:
def numPrimeArrangements(self, n: int) -> int: def countPrimes(k: int) -> int: if k < 2: return 0 num_list = [True] * k num_list[0], num_list[1] = False, False for i in range(2, int(pow(k, 0.5)) + 1): if num_list[i]: num_list[i * i::i] = [False] * ((k - i * i - 1) // i + 1) return sum(num_list) prime_num = countPrimes(n + 1) other_num = n - prime_num ans = 1 for i in range(1, prime_num + 1): ans *= i ans = ans % (10 ** 9 + 7) for i in range(1, other_num + 1): ans *= i ans = ans % (10 ** 9 + 7) return ans
解法二(不但维护了质数表,还二分查找…):
def numPrimeArrangements(self, n: int) -> int: primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] prime_num = bisect.bisect_left(primes, n) other_num = n - prime_num ans = 1 for i in range(1, prime_num + 1): ans *= i ans = ans % (10 ** 9 + 7) for i in range(1, other_num + 1): ans *= i ans = ans % (10 ** 9 + 7) return ans
转载地址:https://dataartist.blog.csdn.net/article/details/107109694 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月13日 07时56分19秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
powershell 调用API显示或隐藏指定程序的主窗口
2019-04-30
powershell 结束进程的四种写法
2019-04-30
powershehll删除并重装打印机
2019-04-30
爬虫-初次接触
2019-04-30
python 类与对象
2019-04-30
Pycharm(社区版) 创建Flask项目
2019-04-30
2018年最聪明的科技创意
2019-04-30
程序员依然是这个时代,贫寒学子翻身的不二选择
2019-04-30
网易Java程序员两轮面试,这些问题你能答对几个?
2019-04-30
Java程序员每周必逛的十大学习网站
2019-04-30
Eclipse下搭建Spring框架(一)
2019-04-30
Eclipse下搭建Spring框架(二)Eclipse下Spring 实例
2019-04-30
C3P0出现的问题(一)
2019-04-30
C3P0出现的问题(二)
2019-04-30
Java--C3P0的使用
2019-04-30
漫画算法:什么是红黑树?
2019-04-30
ThreadLocal底层实现原理
2019-04-30
如何判断链表有环?解释+实现
2019-04-30
解决idea没有tomcat server选项的问题
2019-04-30