Leetcode刷题Python改进的算法,高效求一个数的因子
Posted Better Bench
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题Python改进的算法,高效求一个数的因子相关的知识,希望对你有一定的参考价值。
1 思路
不用全部遍历,只遍历1到根号(n)的范围即可。
当i是可以整除的,用n/i得到的是相对另一个因子。
时间复杂度
O
(
n
1
/
2
)
O(n^1/2)
O(n1/2)
2 实现
import math
def low_fac(n):
ans = []
for i in range(1,int(math.sqrt(n))):
if n%i==0:
if i*i>n:
ans.append(i)
t = int(n/i)
if t!=i and t*t>n:
ans.append(t)
return ans
以上是关于Leetcode刷题Python改进的算法,高效求一个数的因子的主要内容,如果未能解决你的问题,请参考以下文章