现在都中午了,怎么会有人
上午问的话,帮忙的人更多吧 23333
by fAKire @ 2019-10-08 02:06:08
233
by Ludo @ 2019-10-08 02:41:38
栈空了
by ix35 @ 2019-10-08 06:37:16
@[江沢铭路](/space/show?uid=59285) 改成
```cpp
while(!s.empty()&&a[i]<s.top())
```
by _兰_ @ 2019-10-08 08:31:42
@[_兰_](/space/show?uid=96300)
谢谢大佬 换成这个的确解决的
但我之前考虑过这个
所以写了while(a[i]<s.top()&&!s.empty())
理论上和您的没区别 但依然跑不动 十分不解
by 违规用户名59285 @ 2019-10-08 20:55:08
@[江沢铭路](/space/show?uid=59285)
噢噢 问题已解决
by 违规用户名59285 @ 2019-10-08 21:01:14
@[江沢铭路](/space/show?uid=59285)
有区别。对于`and`逻辑,判断的时候会默认先执行`&&`符号左边的语句,如果左边=1才去判断右边。所以说你应该把`!s.empty()`放到左边。
这似乎也可以卡常数?如果你写一个语句`if(s1()&&s2())`而其中你发现`s2()`可以比`s1()`剪掉更多的状态,你就可以换一下位置。
by _兰_ @ 2019-10-09 07:56:53