Wrong Answer,Memory Limit Exceeded
错误原因:
1.在递归的时候,递归函数中忘记加返回return。
1.1做题时遇到一个奇葩错误,把它记到这里,看代码:
代码1:错误,用c++提交wrong answer,但是用g++提交却accepted。
int set_find(int d)
{
if(set[d]<0)
return d;
set_find(set[d]);//这里递归时没有返回值,只有在结束条件时返回(即最后一层递归有返回值,前面的没有返回值)
}
上述代码在进行递归的时候,只有在递归结束时的最后一层返回一个值d,但是并没有把值带到前面的递归当中。
但是在vc中却运行正确,似乎自动加了个返回return(见下面正确代码2)。
这可能与编译器有关,当时那道题我没加return,
用c++提交wrong answer,但是用g++提交却accepted。
(当时就感觉还是自己的代码有问题,终于在仔细检查之后还是找到了这个错误,心情顿时就比较爽了)
代码2:正确,用c++,g++提交均accepted。
int set_find(int d)
{
if(set[d]<0)
return d;
return set_find(set[d]);
}
1.2 当时这道题其实是树中的并查集相关的题目POJ 1308 Is It A Tree? ,上述代码没有用并查集,
我把它改成并查集后,测试了下这个错误,同样是在vc中运行正确,似乎自动加了个返回return。
在提交时却出现了:
用c++提交Memory Limit Exceeded,但是用g++提交却accepted。
为什么出现了Memory Limit Exceeded,什么原因我也不确定,在这先记下。
但是可以看出忘记加return的话,在运行的时候的确与编译器有关,因此要写正确代码最重要,以防出现莫名其妙的错误。
代码1:错误,用c++提交Memory Limit Exceeded,但是用g++提交却accepted。
int set_find(int d)
{
if(set[d]<0)
return d;
set[d]=set_find(set[d]);//这里递归时没有返回值,只有在结束条件时返回(即最后一层递归有返回值,前面的没有返回值)
}
代码2:正确,用c++,g++提交均accepted。
int set_find(int d)
{
if(set[d]<0)
return d;
return set[d]=set_find(set[d]);
}
警告自己:因此,在写代码时碰到某个编译器过不了的时候,考虑一下是不是自己代码的错误呢。因为某些小错误有些编译器会自动更正,而某些编译器却不能改正。
写代码还是正确最重要啊,不要光依靠编译器的自动更正。更不要责怪某个编译器不能检查到这个错误,毕竟编译器也不是万能的!
Wrong Answer,Memory Limit Exceeded的更多相关文章
- Min Stack (LeetCode) tweak it to avoid Memory Limit Exceeded
class MinStack { public: void push(int x) { if(values.empty()) { values.push_back(x); min_indices.pu ...
- Spark OOM:java heap space,OOM:GC overhead limit exceeded解决方法
问题描述: 在使用spark过程中,有时会因为数据增大,而出现下面两种错误: java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMe ...
- Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in
原语句: db.carMongoDTO.aggregate({}}}, {}}}) 报错: Exceeded memory limit for $group, but didn't allow ext ...
- ORA-19815,ORA-19809 :limit exceeded for recovery files
数据库重新启动的时候,收到了ORA-19815的错误.从错误的提示来看,是由于闪回区的空间被填满导致无法成功启动.这种情形我们通常考虑的是清除归档日志,那就直接在OS层面rm了,真的是这样吗?客官,如 ...
- Out of memory error : GC overhead limit exceeded
GC overhead limit exceeded 是指垃圾回收器通过分析当前内存使用趋势,提前抛出异常而不是真正等到内存耗尽再抛出异常.如果真正等到内存耗尽再抛出异常,可能的后果是:我们连保存重要 ...
- android studio 解析Excel数据格式导入poi-3.17.jar时的一系列报错及处理Failed resolution of: Ljavax/xml/stream/XMLEventFactory,duplicate entry: org/apache/xmlbeans/xml/stream/Location.class,GC overhead limit exceeded
在org官网下载的poi jar包,导入到studio compile files('libs/poi-3.17.jar') compile files('libs/poi-ooxml-3.17.ja ...
- JVM--你常见的jvm 异常有哪些? 代码演示:StackOverflowError , utOfMemoryError: Java heap space , OutOfMemoryError: GC overhead limit exceeded, Direct buffer memory, Unable_to_create_new_native_Thread, Metaspace
直接上代码: public class Test001 { public static void main(String[] args) { //java.lang.StackOverflowErro ...
- Spark java.lang.outofmemoryerror gc overhead limit exceeded 与 spark OOM:java heap space 解决方法
引用自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246 ...
- oozie: GC overhead limit exceeded 解决方法
1.异常表现形式 1) 提示信息 Error java.lang.OutOfMemoryError: GC overhead limit exceeded 2)提示出错 Erro ...
随机推荐
- delphi 无边框窗体常见问题
实现无边框窗体很简单,直接将窗体的BorderStyle属性设置为bsNone即可.但是这样会引起2个问题: 1.在xp系统下,任务栏鼠标右键点击无法弹出菜单 解决办法:在FormShow中加入这个过 ...
- Agri-Net - poj 1258 (Prim 算法)
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44373 Accepted: 18127 Description F ...
- ActiveMQ与xml rpc
最近项目在做平台间的消息传递,也让我对平台间消息的传递进行了深一步的探讨.先叙述一下概况 公司上一个版本用的是winform做的监控软件,主要做设备的通信和控制,基本的连接如下
- FFmpeg与libx264 x264接口对应关系源代码分析
源代码位于“libavcodec/libx264.c”中.正是有了这部分代码,使得FFmpeg可以调用libx264编码H.264视频. 从图中可以看出,libx264对应的AVCodec结构体ff ...
- unittest 结合 ddt
数据驱动测试ddt,使用的重点: 1.@ddt.ddt2.@ddt.data(*zip(range(10),range(10,20))) 注意一定要带* 3.@ddt.unpack # c ...
- 网络流合集:bzoj1433,1934,1854 题解
转载请注明:http://blog.csdn.net/jiangshibiao/article/details/23992205 网络流/二分图大合集 [NO.1*原题] 1433: [ZJOI200 ...
- 查看apache,nginx,mysql,linux,php版本
查看apache版本 /usr/sbin/apachectl -v httpd -v 安装目录,使用apachectl -v mysql版本查看 mysql -V 查看linux版本 1.cat /e ...
- uitableview滚动到最后一行
本文转载至 http://mrjeye.iteye.com/blog/1278521 - (void)scrollTableToFoot:(BOOL)animated { NSInteger s = ...
- 九度OJ 1323:World Cup Betting(世界杯) (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:492 解决:219 题目描述: With the 2010 FIFA World Cup running, football fans th ...
- 1.BeanFactory解析
package org.springframework.beans.factory; import org.springframework.beans.BeansException; import o ...