我无法通过此问题的隐藏测试。谁能告诉我我的代码有什么问题?
错误消息是:
“测试7超出了执行时间限制:程序超出了执行时间限制。确保在几秒钟内完成任何可能的输入执行。”
我的代码:
FIELD2 | FIELD3 | Valley 1 | Valley 2 | Valley 3 | Valley 4 | Valley 5
----------|-----------|-------------|----------|----------|-----------|---------
Increments| | NULL | NULL | NULL | NULL | NULL
答案 0 :(得分:0)
我想你的问题是:
给定整数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
答案 1 :(得分:-1)
在此存储库中,您可以找到Codefights Arcade解决方案
https://github.com/tigranv/Code_Fights_Solutions
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;
}