LeetCode--2106. 摘水果
在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组
fruits
,其中fruits[i] = [positioni, amounti]
表示共有amounti
个水果放置在positioni
上。fruits
已经按positioni
升序排列 ,每个positioni
互不相同 。另给你两个整数
startPos
和k
。最初,你位于startPos
。从任何位置,你可以选择 向左或者向右 走。在 x 轴上每移动 一个单位 ,就记作 一步 。你总共可以走 最多k
步。你每达到一个位置,都会摘掉全部的水果,水果也将从该位置消失(不会再生)。返回你可以摘到水果的 最大总数 。
难点在于从 startPos 开始,既可以向右,也可以向左移动,导致滑窗很困难,事实上,我们可以利用 startPos 限制的区间来尽可能地让滑窗更简单,我们只需要指明我们需要的区间,然后通过 startPos 限制的区间,以及 k 来验证当前区间是否可行,然后计算即可。
最后更新于