返回信息流求助,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;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #95606同步于 2017/6/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【问题】leetcode OJ第57题
afcedf
2017/6/15镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
其实leetcode是可以输出信息的。你可以在程序里std::cout<<"1\n",std::cout<<"2\n",...,std::cout<<"10\n"来观察流程
对malloc申请的内存空间未初始化,未定义操作。OJ把malloc申请的未初始化bool变量定义为true,VS定义为false。而且OJ在runcode阶段会自动将未初始化的变量初始化为0,但是submit的时候不会。真是个神奇的网站,哈哈。[ema2]
【 在 bond1993 的大作中提到: 】
: 原因是啥?我也蛮好奇的
【 在 afcedf 的大作中提到: 】
:
: 求助,VS跑出来的结果和OJ的不一样……
: 代码如下,气死人了,一下午了不给我AC
: ...................
[upload=1][/upload][upload=2][/upload]
逻辑错了自己还美滋滋的以为是对的
原来如此!涨姿势了~~
【 在 afcedf 的大作中提到: 】
: 对malloc申请的内存空间未初始化,未定义操作。OJ把malloc申请的未初始化bool变量定义为true,VS定义为false。而且OJ在runcode阶段会自动将未初始化的变量初始化为0,但是submit的时候不会。真是个神奇的网站,哈哈。
哈哈,只能说平时写malloc写顺手了,对我来说这两个倒没觉得有多大差别[ema9]
【 在 clangpp 的大作中提到: 】
: 都用C++了,干嘛还要malloc?vector<bool>, vector<int>不是现成的吗?