当前位置: 代码迷 >> 综合 >> Leetcode 1326. 灌溉花园的最少水龙头数目 (DAY 69)---- 动态规划学习期 (算法题路还好长好长啊 确实积累太少)
  详细解决方案

Leetcode 1326. 灌溉花园的最少水龙头数目 (DAY 69)---- 动态规划学习期 (算法题路还好长好长啊 确实积累太少)

热度:92   发布时间:2023-11-17 19:12:48.0

原题题目

在这里插入图片描述


代码实现(首刷大部分看解小部分自解)

class Solution {
    
public:int minTaps(int n, vector<int>& ranges) {
    vector<int> dp(n+1,INT_MAX);int l,r,pre;for(int i=0;i<=n;++i){
    if(!ranges[i])  continue;l = max(0,i-ranges[i]);r = min(n,i+ranges[i]);pre = (l<=0 ? 0: dp[l]);if(pre == INT_MAX) continue;for(int temp = l;temp<=r;temp++)dp[temp] = min(dp[temp],pre+1);}return dp[n]==INT_MAX ? -1:dp[n];}
};