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

免费照片的网站模板免费下载全网网站建设优化

免费照片的网站模板免费下载,全网网站建设优化,wordpress MP4 flv,织梦cms网站灌溉花园的最少水龙头数目 题目描述 在 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/223464/

相关文章:

  • 做网站学哪个语言最好浙江城乡建设局和住建局
  • 做电影网站要几G空间的网站网络推广能优化
  • 河北邯郸网站建设优化培训课程
  • 四川和住房城乡建设厅网站首页网络游戏制作公司
  • 做网站网页的软件是绿色的图标什么运行网站需要多少钱
  • 淄博学校网站建设定制海口建站网站模板
  • 男女做那个网站动态图片品牌建设实施方案
  • 公司为什么要建立网站机场网站建设
  • 大中小网站的区分秦皇岛建设网招聘
  • 湖州微信网站建设建设小游戏网站空间类型选择
  • 怎么才能有自己的网站如何配置 网站二级域名
  • 湖北勘察设计协会网站建网站企业
  • 从哪个网站设置宽带主机做论坛网站要多少配置的服务器
  • 响应式网站导航栏模板信息发布
  • 好看的网站哪里找搜索引擎网址
  • 网站用国外的服务器打不开网站视频转码软件
  • 网站设计定制多少钱互联网+体育消费
  • 南宁网站推广方案如何做seo搜索引擎优化心得体会
  • 做网站设计赚不赚钱出国自助游做攻略的网站
  • 雄安做网站要多少钱域名注册查询批量
  • 提高网站访问速度的建设方案用手机如何制作网页链接
  • 百度网站排名关键词整站优化网站地址跟网页地址区别
  • 做网站背景音乐wordpress建立一个页面模板下载
  • 江苏伟业建设集团网站seo外包是什么
  • 丽之鑫科技网站后台怎么做公司在网站做广告怎么做分录
  • 专做会议发布的网站wordpress 请求处理
  • 秦皇岛网站建设报价途牛的旅游网站是谁做的
  • 做网站要备案吗 要几天网页模板下载网站知乎
  • 宽屏网站设计wordpress 自定义函数
  • 刚做的win7系统连上网站没网网站模版切换