社区讨论
求助!关于if判断先后会影响答案吗
学术版参与者 5已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mi4b0g6r
- 此快照首次捕获于
- 2025/11/18 16:20 3 个月前
- 此快照最后确认于
- 2025/11/18 21:01 3 个月前
我正在做一道单调栈的老题,但是无论如何都通过不了,看了题解后发现逻辑完全相同,只有if判断的地方不同,改了之后就了,核心错误代码如下求解答:
我的代码:
CPPif(q.size()&&h[i]<h[q.top()]) //来的比我小
{
ans[q.top()]+=v[i];
}
else
{
while(q.size()&&h[q.top()]<h[i]) //来的比我大
{
ans[i]+=v[q.top()];
q.pop();
}
}
改了的代码:
CPPwhile(q.size()&&h[q.top()]<h[i]) //来的比我大
{
ans[i]+=v[q.top()];
q.pop();
}
if(q.size()) //来的比我小
{
ans[q.top()]+=v[i];
}
实在看不出来有什么区别,当然我很唐了
回复
共 9 条回复,欢迎继续交流。
正在加载回复...