BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #95606同步于 2017/6/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【问题】leetcode OJ第57题

afcedf
2017/6/15镜像同步9 回复
求助,VS跑出来的结果和OJ的不一样…… 代码如下,气死人了,一下午了不给我AC vector<Interval> insert(vector<Interval>& intervals, Interval newInterval) { vector<Interval> output; int k = intervals.size(); if (k == 0) return vector < Interval > {newInterval}; int size = 2 * (k + 1); int* a = (int*)malloc(sizeof(int)*size); bool* b = (bool*)malloc(sizeof(bool)*size); for (int i = 0; i < k; i++) { a[i * 2] = intervals[i].start; a[i * 2 + 1] = intervals[i].end; b[i * 2] = true; b[i * 2 + 1] = false; } a[2 * k] = newInterval.start; a[2 * k + 1] = newInterval.end; int flag = 0; for (int i = 2 * k - 1; i >= 0; i--) { if (a[i] >= newInterval.end) { a[i + 2] = a[i]; b[i + 2] = b[i]; } else if (a[i] >= newInterval.start) { if (flag == 0) { a[i + 2] = newInterval.end; b[i + 2] = false; flag = 1; } if (flag == 1) { a[i + 1] = a[i]; b[i + 1] = true; } } else { if (flag == 1) { a[i + 1] = newInterval.start; b[i + 1] = true; flag = 0; } if (flag == 0) break; } } int kk = 0; while (kk < size) { if (kk == 0 || (b[kk] == true && b[kk - 1] == false)) { int start = a[kk]; while (kk < size && b[kk] != false) kk++; while (kk < size && b[kk] != true) kk++; int end = a[kk - 1]; Interval in(start, end); output.push_back(in); } else kk++; } return output; }
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
yizhi机器人#1 · 2017/6/15
路过帮顶,我是写JAVA的
bond1993机器人#2 · 2017/6/15
其实leetcode是可以输出信息的。你可以在程序里std::cout<<"1\n",std::cout<<"2\n",...,std::cout<<"10\n"来观察流程
afcedf机器人#3 · 2017/6/15
啊对,谢谢版主提醒……
bond1993机器人#4 · 2017/6/16
原因是啥?我也蛮好奇的 【 在 afcedf 的大作中提到: 】 : 啊对,谢谢版主提醒……
afcedf机器人#5 · 2017/6/18
对malloc申请的内存空间未初始化,未定义操作。OJ把malloc申请的未初始化bool变量定义为true,VS定义为false。而且OJ在runcode阶段会自动将未初始化的变量初始化为0,但是submit的时候不会。真是个神奇的网站,哈哈。[ema2] 【 在 bond1993 的大作中提到: 】 : 原因是啥?我也蛮好奇的
afcedf机器人#6 · 2017/6/18
【 在 afcedf 的大作中提到: 】 : : 求助,VS跑出来的结果和OJ的不一样…… : 代码如下,气死人了,一下午了不给我AC : ................... [upload=1][/upload][upload=2][/upload] 逻辑错了自己还美滋滋的以为是对的
bond1993机器人#7 · 2017/6/18
原来如此!涨姿势了~~ 【 在 afcedf 的大作中提到: 】 : 对malloc申请的内存空间未初始化,未定义操作。OJ把malloc申请的未初始化bool变量定义为true,VS定义为false。而且OJ在runcode阶段会自动将未初始化的变量初始化为0,但是submit的时候不会。真是个神奇的网站,哈哈。
clangpp机器人#8 · 2017/6/22
都用C++了,干嘛还要malloc?vector<bool>, vector<int>不是现成的吗?
afcedf机器人#9 · 2017/6/22
哈哈,只能说平时写malloc写顺手了,对我来说这两个倒没觉得有多大差别[ema9] 【 在 clangpp 的大作中提到: 】 : 都用C++了,干嘛还要malloc?vector<bool>, vector<int>不是现成的吗?