-2
我正试图找到2个素数总和为某个整数N,由用户指定。但我得到MLE为什么我的内存超出限制?
def is_prime(n):
if n == 2:
return True
if n%2 == 0 or n <= 1:
return False
sqr = int(n**0.5) + 1
for divisor in range(3, sqr, 2):
if n%divisor == 0:
return False
return True
class Solution:
# @param A : integer
# @return a list of integers
def primesum(self, A):
#Creating the list of prime numbers
h_prime ={}
# Initializing the hash table
# looking for the prime numbers
for i in range (2, long (A)):
if (is_prime(i)):
h_prime [i] = A-i;
# Checking if the compliment is also a prime
#We go through it element by element
for key in h_prime:
if key in h_prime and A-key in h_prime:
my_list = [ key, A-key]
return my_list
你怎么知道超过了内存限制?您是否收到特定的错误讯息? –
您写的代码不会执行,因为您从不调用函数。请给我们您的实际[最小,完整,可验证的例子](http://stackoverflow.com/help/mcve)。 –
'A'的价值是什么? –