算法复杂度的估计,以及常见评测结果

程序给定1秒的运行时间,则我们设计的算法时间复杂度不能超过百万级别,即不能超过一千万,即若算法的时间复杂度是O(n^2),则该n不应大于3000.


常见评测结果

Accepted :得到该题全部分数


Wrong Answer: 对若干组测试数据或者全部数据没有输出正确结果

解决方向:如果对设计的算法有较大的把握。可以考虑代码健壮性,即特殊数据、边界数据,比如程序中变量的溢出。

  另一方向,怀疑算法本身的正确性

Presentation Error: 这时离正确结果不远了,出现错误只是因为一些空格换行之类的多余字符

Time Limit Exceeded:你的程序在输出答案所需要的答案之前已经超出了题目中所规定的时间。

解决方向:假如确定算法的时间复杂度符合题目的要求,那么依旧可以检查是否程序可能在某种情况下出现了死循环,是否有边界数据可能会让你的代码不    按照预想的工作

  你设计的算法时间复杂度是否已经高于题目对复杂度的要求,如果是,重新设计更加高效的算法或者对现行的算法进行优化。

Runtime Error:考虑方向:程序访问了不该访问的内存地址,如访问数组下标越界

程序是否出现了除以整数0.从而使程序异常

程序是否调用了评判系统禁止调用的函数

程序是否会因为递归过深或者其他原因造成栈溢出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值