小萌新常见问题

  1. 为什么我的样例过了,提交后是答案错误?

    样例仅是测试数据的一部分,测试数据往往非常大,以第一个题为例子,则n最大会是1000000,则数组a也会有1000000个数字,所以这里数组要开到1000000以上,如果是从1开始,就要开到1000001,否则会出现数组越界,一般结果是运行时错误。

  2. 多组测试问题

    存储一组数据处理一组数组,不用把所有数据存下来再处理。

  3. 运行时间过长

    程序的时间复杂度过高,可以简单的估算一下,假设程序的时间复杂度时,设n最大为,则,一般来讲,1s最多可接受的时间复杂度是1e8,当时间复杂度超过1e8,程序就会运行超时。

  4. 运行程序没反应,或者输入几个数后没反应了,过一会自己结束了

    检查是否在函数内部开了大数组,是否存在死循环,用scanf输入字符(不是字符串)或数字时是否忘记写取地址符了?如scanf("%d",a)

  5. 题目中没说有多少个数据,怎么判断数据读写完毕,怎么测试?

    scanf读到文件末尾会返回EOF(-1)cin会返回0,用这种形式即可

     while(scanf("%d",&x)!=EOF){
         ...
     }
     while(cin<<x){
         ...
     }

    测试的时候,把数据输完后,按ctr+z再回车即可

  6. 大部分数据通过,仅有极少数未通过

    这个时候,重点检查题目中是否存在特殊情况?边界有没有处理好?

  7. 程序运行就卡死

    检查是不是在main函数里面开了巨大数组?是否存在死循环?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值