请稍等 ...
×

采纳答案成功!

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

r值如何变化?

在这个滑动窗口标记的code里面,一旦r+1标记数组是1那么r的值就不再变化了,能解答下r值是怎么变化的吗?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2020-09-30 23:43:40

r 将暂时固定住。如果 r 已经到头了,r 将不会再变化。否则,由于只会执行 freq[s[l++]] --;,直到某个时刻,freq[s[r+1]] == 0 了,r 就可以继续右移了。


我强烈建议你是用一个简单的测试用例,使用这个程序进行单步跟踪,去看在每次循环中,l 和 r 都是怎样变化的,为什么会产生这样的变化。这是学习算法,乃至是学习编程最好的方式,实际去看程序是怎样运行的,和你脑子里想象的运行方式是否一致。如果不一致,自己哪里想错了。只有通过多次这样的训练,才能慢慢更加深刻地理解程序的运行方式。进步就在这个过程中哦。


加油!:)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信