Python 编码环路调谐Q2
我无法通过这个问题的隐藏测试。有人能告诉我我的代码有什么问题吗 错误消息是: “测试7超出了执行时间限制:程序超出了执行时间限制。请确保对于任何可能的输入,它在几秒钟内完成执行。” 我的代码:Python 编码环路调谐Q2,python,python-3.x,loops,Python,Python 3.x,Loops,我无法通过这个问题的隐藏测试。有人能告诉我我的代码有什么问题吗 错误消息是: “测试7超出了执行时间限制:程序超出了执行时间限制。请确保对于任何可能的输入,它在几秒钟内完成执行。” 我的代码: def countSumOfTwoRepresentations2(n, l, r): c=0 for i in range(l,r+1): for j in range(l,i+1): if(i+j==n): c+=
def countSumOfTwoRepresentations2(n, l, r):
c=0
for i in range(l,r+1):
for j in range(l,i+1):
if(i+j==n):
c+=1
return(c)
我想你的问题是: 给定整数n、l和r,找出将n表示为两个>整数a和B之和的方法的数量,使l≤ A.≤ B≤ r 在代码中添加2个for循环可能会增加代码的时间复杂度,因为这是一种幼稚的方法。您应该尝试以下方法:
def countSumOfTwoRepresentations(n,l,r):
result = 0
for a in range(1,r+1):
b = n - a
if(b >= l and b <= r and b >= a):
result+=1
return result
def countsumoftwore表示(n、l、r):
结果=0
对于范围(1,r+1)内的a:
b=n-a
如果(b>=l和b=a):
结果+=1
返回结果
在此存储库中,您可以找到Codefights Arcade解决方案
int countSumOfTwoRepresentations2(int n,int l,int r){
整数计数=0;
对于(int i=l;i你提供了什么信息?)你能提供这个问题的链接吗好的,谢谢,我是新来的,希望很快我会做所有应该做的事情
int countSumOfTwoRepresentations2(int n, int l, int r) {
int count = 0;
for(int i = l; i<=r; i++)
{
for(int j = i; j<=r&&n-j>=l; j++)
{
if(i+j == n) count++;
}
}
return count;
}