当我只为一些特定的测试用例运行代码时,我得到了一个“由于超时错误而终止”。即使我的代码为其他测试用例成功编译。有人能帮我吗
问题陈述
一个能被2整除的数字叫做偶数。Continue是与break语句相反的循环控制语句,它不终止循环,而是强制执行循环的下一次迭代。Sohan很想知道给定范围内的偶数总数,但他的朋友不喜欢数字。
输入格式
第一行将包含测试用例的数量。然后测试用例如下:每个测试用例包含一个包含三个数字的单行
约束条件
1
输出格式
对于每个testcase,输出一个整数,范围内的total偶数计数除外。
样本输入0
2
2 5 4
0 8 5
样本输出0
1
5
解释0
在第一个测试用例中:除4外,2仅为偶数。在第二个测试用例中:0,2,4,6,8
我的答案是:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,b,k,i,count=0;
scanf("%d %d %d",&a,&b,&k);
for(i=a;i<=b;i++)
{
if(i%2==0)
{
if(i==k)
continue;
else
count+=1;
}
}
printf("%d\n",count);
}
return 0;
}
您的代码工作正常,但可以加快速度。如果O(n)
算法的复杂性,这意味着在最坏的情况下,它将在10^5*10^8=10^13
数字上循环。根据一般经验,您的算法在这类问题中允许执行的最大操作数是10^7
,因此您已经超出了限制。
这意味着您需要找到一个更好的算法,该算法能够计算结果,而无需遍历所有数字。尝试自己找到这些案例的答案(不使用程序!),你应该注意到一个模式,它可以让你找到算法。请注意,我没有提到k
——一旦你有了一个算法,你就可以很容易地把它作为事后的想法添加进去。
a=0,b=100
我已经在下面描述了一个算法的概要,但是我鼓励你在展示扰流板之前,试着自己解决这个问题。
你只关心偶数。这意味着当a
为奇数时,我们可以将其增加1,当b
为奇数时,我们可以将其减少1,所有这些都不会改变结果。通过让我们只考虑偶数,这简化了算法的其余部分。在a
和b
之间(包括这两个值)正好有b-a1
整数,其中(b-a)/21
整数是偶数(一半,四舍五入)。如果k
为奇数,或超出范围a
关于这个话题有很多讨论。我看了一遍,但没有一个有用。 问题似乎相当简单: 如果我们列出10以下的所有自然数,它们是3或5的倍数,我们得到3、5、6和9。这些倍数之和是23。 求N以下3或5的所有倍数之和。 输入格式第一行包含表示测试用例数量的T。接下来是T行,每一行包含一个整数N。 输出格式对于每个测试用例,打印一个整数,表示N以下3或5的所有倍数之和。 约束1≤T≤10^5 1≤N≤10^9 然
当我只为一些特定的测试用例运行代码时,我得到了一个“由于超时错误而终止”。即使我的代码为其他测试用例成功编译。有人能帮我吗? 链接-https://www.hackerrank.com/challenges/phone-book 问题陈述: 你会得到一本电话簿,里面有人们的名字和电话号码。之后,你会得到一些人的名字作为查询。对于每个查询,打印该人的电话号码。 输入格式: 第一行有一个整数,表示通讯
我有一个非常基本的JTA问题。 我们使用Spring的AOP将WebLogicJtaTransactionManager切入点应用于服务类中的任何方法......并且我们设置tx: method timeout="60"。 有趣的是在该服务中,我们运行一个select语句从数据库中检索记录(使用Hibernate/JPA),然后去做一些与数据库/事务无关的工作。该方法运行时间超过60秒,并且永远不
我正在尝试解决一个来自HackerRank的问题,当我提交我的解决方案时,我得到一个错误,说明“由于超时而终止”。 问题:对n个大小的数组的左旋转操作将数组的每个元素向左移动1个单位。例如,如果对数组[1,2,3,4,5]执行两次左旋转,那么该数组将变为[3,4,5,1,2]。 给定一个由n个整数和一个数字d组成的数组,对该数组执行d个左旋转。然后将更新后的数组打印为单行以空格分隔的整数。 输入格
问题内容: 我正在运行Mac OS 10.9.5 (Mavericks),已经按照https://docs.docker.com/installation/mac/来安装Docker。即使boot2docker VM在后台运行,我在运行Docker时也会收到超时错误消息。 我已验证Docker在boot2docker VM中运行并且我的端口正确。 问题答案: 我也遇到了这个问题,这是一个临时解决方
我在google cloud中创建了一个google cloud函数,它将连接到我在google cloud中创建的postgresql实例。 我正在使用'pg'节点模块。 我已经为此创建了一个私有IP。 我收到以下错误: 错误:由于在timeout.ConnectionTimeouthAndle.SetTimeout(/workspace/node_modules/pg/lib/client.j