参考了官方的答案后理解在自己写的。
- 使用双指针模式。i为右区间指针,k为左区间指针。i递增,k根据条件,结果要是超过了budget后也递增1。取每次符合条件的
[k,i]
之间的数量最大值返回。 - 使用队列维护
chargeTimes[k-i]
的最大值的下标。
这里我看了参考答案后想着直接将
chargeTimes[k-i]
的值全部保存到队列中,计算的时候再用max去取最大值就行。理论上是可行的,但是提交的时候报超时了。AC不了
Search
Sep 13, 20242 min read
参考了官方的答案后理解在自己写的。
[k,i]
之间的数量最大值返回。chargeTimes[k-i]
的最大值的下标。这里我看了参考答案后想着直接将
chargeTimes[k-i]
的值全部保存到队列中,计算的时候再用max去取最大值就行。理论上是可行的,但是提交的时候报超时了。AC不了