网站设计范文徐州 商城网站
web/
2025/10/8 2:16:57/
文章来源:
网站设计范文,徐州 商城网站,网站建设 服务流程,佛山营销型网站建设公司文章目录1. 题目2. 解题1. 题目
你打算用一个水罐给花园里的 n 株植物浇水。 植物排成一行#xff0c;从左到右进行标记#xff0c;编号从 0 到 n - 1 。其中#xff0c;第 i 株植物的位置是 x i 。x -1 处有一条河#xff0c;你可以在那里重新灌满你的水罐。
每一株植…
文章目录1. 题目2. 解题1. 题目
你打算用一个水罐给花园里的 n 株植物浇水。 植物排成一行从左到右进行标记编号从 0 到 n - 1 。其中第 i 株植物的位置是 x i 。x -1 处有一条河你可以在那里重新灌满你的水罐。
每一株植物都需要浇特定量的水。你将会按下面描述的方式完成浇水
按从左到右的顺序给植物浇水。在给当前植物浇完水之后如果你没有足够的水 完全 浇灌下一株植物那么你就需要返回河边重新装满水罐。你 不能 提前重新灌满水罐。
最初你在河边也就是x -1在 x 轴上每移动 一个单位 都需要 一步 。
给你一个下标从 0 开始的整数数组 plants 数组由 n 个整数组成。 其中plants[i] 为第 i 株植物需要的水量。 另有一个整数 capacity 表示水罐的容量返回浇灌所有植物需要的 步数 。
示例 1
输入plants [2,2,3,3], capacity 5
输出14
解释从河边开始此时水罐是装满的
- 走到植物 0 (1 步) 浇水。水罐中还有 3 单位的水。
- 走到植物 1 (1 步) 浇水。水罐中还有 1 单位的水。
- 由于不能完全浇灌植物 2 回到河边取水 (2 步)。
- 走到植物 2 (3 步) 浇水。水罐中还有 2 单位的水。
- 由于不能完全浇灌植物 3 回到河边取水 (3 步)。
- 走到植物 3 (4 步) 浇水。
需要的步数是 1 1 2 3 3 4 14 。示例 2
输入plants [1,1,1,4,2,3], capacity 4
输出30
解释从河边开始此时水罐是装满的
- 走到植物 012 (3 步) 浇水。回到河边取水 (3 步)。
- 走到植物 3 (4 步) 浇水。回到河边取水 (4 步)。
- 走到植物 4 (5 步) 浇水。回到河边取水 (5 步)。
- 走到植物 5 (6 步) 浇水。
需要的步数是 3 3 4 4 5 5 6 30 。示例 3
输入plants [7,7,7,7,7,7,7], capacity 8
输出49
解释每次浇水都需要重新灌满水罐。
需要的步数是 1 1 2 2 3 3 4 4 5 5 6 6 7 49 。提示
n plants.length
1 n 1000
1 plants[i] 10^6
max(plants[i]) capacity 10^9来源力扣LeetCode 链接https://leetcode-cn.com/problems/watering-plants 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
初始化 step 为数组长度肯定要走完一遍数组然后记录前缀和 是否要超过 容量要超过的话步数 2*当前距离打满水来回的距离前缀和重新计算
class Solution {
public:int wateringPlants(vectorint plants, int capacity) {int step plants.size(), presum 0;for(int i 0; i plants.size(); i){if(presumplants[i] capacity) // i 这个不能浇水{step 2*i;presum plants[i];}elsepresum plants[i];}return step;}
};0 ms 8.2 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88824.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!