当前位置: 首页 > news >正文

网站推广网络营销重庆装修房子可以提取公积金吗

网站推广网络营销,重庆装修房子可以提取公积金吗,无锡做网站中企动力,一个完整网页的制作灌溉花园的最少水龙头数目 题目描述 在 x 轴上有一个一维的花园。花园长度为 n,从点 0 开始,到点 n 结束。 花园里总共有 n 1 个水龙头,分别位于 [0, 1, …, n] 。 给你一个整数 n 和一个长度为 n 1 的整数数组 ranges ,其中…

灌溉花园的最少水龙头数目

题目描述

在 x 轴上有一个一维的花园。花园长度为 n,从点 0 开始,到点 n 结束。

花园里总共有 n + 1 个水龙头,分别位于 [0, 1, …, n] 。

给你一个整数 n 和一个长度为 n + 1 的整数数组 ranges ,其中 ranges[i] (下标从 0 开始)表示:如果打开点 i 处的水龙头,可以灌溉的区域为 [i - ranges[i], i + ranges[i]] 。

请你返回可以灌溉整个花园的 最少水龙头数目 。如果花园始终存在无法灌溉到的地方,请你返回 -1 。

样例

样例输入

n = 5, ranges = [3,4,1,1,0,0]
n = 3, ranges = [0,0,0,0]

样例输出

1
解释:
点 0 处的水龙头可以灌溉区间 [-3,3]
点 1 处的水龙头可以灌溉区间 [-3,5]
点 2 处的水龙头可以灌溉区间 [1,3]
点 3 处的水龙头可以灌溉区间 [2,4]
点 4 处的水龙头可以灌溉区间 [4,4]
点 5 处的水龙头可以灌溉区间 [5,5]
只需要打开点 1 处的水龙头即可灌溉整个花园 [0,5] 。

-1
解释:即使打开所有水龙头,你也无法灌溉整个花园。

提示

  • 1<=n<=1041 <= n <= 10^41<=n<=104
  • ranges.length==n+1ranges.length == n + 1ranges.length==n+1
  • 0<=ranges[i]<=100 <= ranges[i] <= 100<=ranges[i]<=10

思路

大的总问题可以化为相同类型的子问题,可以使用动态规划。且不仅仅可以使用动态规划,还可以使用贪心思想,因为在相同类型的子问题中,可以取其最优解。

代码实现

动态规划

class Solution {public int minTaps(int n, int[] ranges) {int[][] arr = new int[n+1][2];for(int i = 0; i <= n; i++){arr[i][0] =  Math.max(0, i - ranges[i]);arr[i][1] = Math.min(n, i + ranges[i]);}Arrays.sort(arr, (a, b) -> a[0] - b[0]);int[] dp = new int[n+1];Arrays.fill(dp, Integer.MAX_VALUE);dp[0] = 0;for(int[] a : arr){if(dp[a[0]] == Integer.MAX_VALUE) return -1;for(int i = a[0]; i <= a[1]; i++) dp[i] = Math.min(dp[i], dp[a[0]] + 1);}return dp[n];}
}

贪心思想

class Solution {public int minTaps(int n, int[] ranges) {int[] right = new int[n+1];for(int i = 0; i <= n; i++) right[i] = i;for(int i = 0; i < ranges.length; i++){int start = Math.max(0, i - ranges[i]);int end = Math.min(n, i + ranges[i]);right[start] = Math.max(right[start], end);}int last = 0, res = 0, pre = 0;for(int i = 0; i < n; i++){last = Math.max(last, right[i]);if(i == last) return -1;if(i == pre){res++;pre = last;}}return res;}
}
http://www.yayakq.cn/news/943419/

相关文章:

  • 福田网站建设 信科网络文明网站建设方案
  • 网站维护一年一般多少钱做理财的网站有哪些问题
  • 中国智慧城市建设门户网站定陶网站建设
  • 文登住房与建设局网站建设银行官网招聘网站
  • 网站优化和推广方案ppt做网站买域名
  • mc做地图画网站中国十大软件外包公司排名
  • 网站数据分析wordpress简体中文下载地址
  • 怎么做文化传媒公司网站做俄罗斯外贸网站推广
  • 看守所加强自身网站建设工作天津建设工程信息网评标专家怎么查询评审项目
  • 十堰秦楚网 十堰新闻门户网站购买了个网站源码 怎么建立
  • 网站竞价推广怎么做新乡彩票网站建设
  • 做素材类的网站赚钱吗企业网站建设解决方案
  • 怎么优化网站代码合肥网站系统建设公司
  • 有九类商标可以做网站名吗网站访问不了的原因
  • 网站开发技术发展趋势深圳网站设计制作元
  • 网站建设与制作模板网站功能报价明细表
  • 做网站交接需要哪些权限外贸建站选择哪个服务器好
  • 网站建设的技术指标o2o服务平台
  • 第一次找人做网站优秀材料写作网站
  • 有什么做衣服的网站好巴基斯坦人做网站怎么样
  • 电商网站有哪些功能模块竞价推广与seo的区别
  • 甘南网站建设江西省的建设厅官方网站
  • 做网站一般用什么配置的电脑二手车网站源码
  • 网站建设sem电子商务网站是电子商务企业
  • 电视剧下载网站 免费糖醋蒜怎样做石家庄有什么做网站的公司
  • 单位制作网站备案深圳相框制作
  • 网站开发英语翻译好网站建设公司哪个好呀
  • 凯里公司网站建设珠海微网站
  • 免费做网站有哪些网站源码上传完后怎么做
  • 免费网站建设公司推荐seo专员工资一般多少