如何做deal网站推广,软文网站模板,网站建设品牌策,小型工作室项目大全LeetCode 每日一题 ---- 【2105. 给植物浇水 II】 2105.给植物浇水II方法#xff1a;模拟双指针 2105.给植物浇水II
方法#xff1a;模拟双指针
今天是给植物浇水II#xff0c;昨天是I#xff0c;本质上和昨天的没有区别#xff0c;都是模拟#xff0c;今天额外需要注意… LeetCode 每日一题 ---- 【2105. 给植物浇水 II】 2105.给植物浇水II方法模拟双指针 2105.给植物浇水II
方法模拟双指针
今天是给植物浇水II昨天是I本质上和昨天的没有区别都是模拟今天额外需要注意的就是需要用一下双指针其实题目的描述就是双指针了所以一般情况下都会用到。。。
class Solution {public int minimumRefill(int[] plants, int capacityA, int capacityB) {int len plants.length;int ans 0;int waterA capacityA, waterB capacityB;for (int i 0, j len - 1; i len j 0 i j; i , j -- ) {if (i j) {if (waterA waterB) {if (waterA plants[i]) {waterA - plants[i];} else {waterA capacityA;waterA - plants[i];ans ;}} else {if (waterB plants[j]) {waterB - plants[i];} else {waterB capacityB;waterB - plants[i];ans ;}}continue;}if (waterA plants[i]) {waterA - plants[i];} else {waterA capacityA;waterA - plants[i];ans ;}if (waterB plants[j]) {waterB - plants[j];} else {waterB capacityB;waterB - plants[j];ans ;}}return ans;}
}时间复杂度 O(n)
空间复杂度 O(1)