跳到主要内容

2105.给植物浇水II

链接:2105.给植物浇水II
难度:Medium
标签:数组、双指针、模拟
简介:给你一个下标从 0 开始的整数数组 plants ,数组由 n 个整数组成。其中,plants[i] 为第 i 株植物需要的水量。另有两个整数 capacityA 和 capacityB 分别表示 Alice 和 Bob 水罐的容量。返回两人浇灌所有植物过程中重新灌满水罐的 次数 。

题解 1 - python

  • 编辑时间:2024-05-09
  • 执行用时:86ms
  • 内存消耗:31.19MB
  • 编程语言:python
  • 解法介绍:模拟。
class Solution:
def minimumRefill(self, plants: List[int], capacityA: int, capacityB: int) -> int:
res = 0
n = len(plants)
a = 0
wa = capacityA
b = n - 1
wb = capacityB
while a < b:
if wa < plants[a]:
wa = capacityA
res += 1
wa -= plants[a]
if wb < plants[b]:
wb = capacityB
res += 1
wb -= plants[b]
a += 1
b -= 1
if a == b and max(wa, wb) < plants[a]:
res += 1
return res