请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么在发现sum>=s的时候,还有滑动左边界l?

老师好。这节课的滑动窗口判断逻辑中,有个疑问:
图片描述
在进入到else的时候,已经发现sum>=s了,说明找到满足条件的滑动窗口了,此时应该是记录 r-l+1 的值,和当前的res做比较,取最小值。示例的代码是,还要往左移一位,缩小窗口,并且减少sum,此时有没有可能sum又小于s了,又不满足条件了。

正在回答

1回答

这个逻辑是:

每次如果 sum < s 且右边还有元素 (r + 1 < nums.size()),就向右扩展,然后,在 if(sum >= s) 中记录这个结果。到下一次循环,这个结果已经在上一次循环的时候记录了,所以滑动左边界。


你的想法也可以实现,自己实现以下试试看?然后比较一下,两个代码,哪个风格你更喜欢?


继续加油!:)



0 回复 有任何疑惑可以回复我~
  • 提问者 阿阳2017 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2024-01-21 09:56:55
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号