题目

image.pngimage.png

解题代码

  1. class Solution {
  2. public int wateringPlants(int[] plants, int capacity) {
  3. int cur = -1; //当前位置
  4. int step = 0; //走的步数
  5. int ca = capacity; //初始化容量
  6. for(int i = 0; i < plants.length; i++ ) {
  7. if( ca >= plants[i]) { //容量够,去下一格子浇水
  8. step += 1; //步数更新,实际也可加一
  9. cur = i; //更新当前位置
  10. ca -= plants[i]; //更新容量
  11. } else {
  12. step += 2 * (cur + 1) + 1; //回河边取水再去下一个位置浇水
  13. cur = i; //更新当前位置
  14. ca = capacity - plants[i]; //更新去下一个格子浇水后的容量
  15. }
  16. }
  17. return step;
  18. }
  19. }