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

金堂做网站的公司浏览器入口

金堂做网站的公司,浏览器入口,电商网站建设方案,嵊州做网站题目地址 这个题目还是比较经典的,题目给的数据量如果是动态规划的思路来写的话刚刚好能过 代码如下: class Solution:def jump(self, nums: List[int]) -> int:n len(nums)dp [inf]*(n)dp[0] 0for i in range(n):if dp[i] inf:continuefor j in…

题目地址

在这里插入图片描述

这个题目还是比较经典的,题目给的数据量如果是动态规划的思路来写的话刚刚好能过

代码如下:

class Solution:def jump(self, nums: List[int]) -> int:n = len(nums)dp = [inf]*(n)dp[0] = 0for i in range(n):if dp[i] == inf:continuefor j in range(1,nums[i]+1):if i+j>=n:continuedp[i+j] = min(dp[i+j],dp[i]+1)return dp[n-1]

如果数据量变大咋办,感觉可以用线段树来优化一下

from math import infclass Tree:def __init__(self, n):self.n = nself.t = [inf] * (4 * n)  # 存储区间最小值self.lazy = [None] * (4 * n)  # 懒标记,初始为None表示没有待下推的值def push_down(self, o):if self.lazy[o] is not None:# 下推懒标记到左右子节点left = o * 2right = o * 2 + 1# 更新左子节点self.t[left] = min(self.t[left], self.lazy[o])self.lazy[left] = min(self.lazy[left], self.lazy[o]) if self.lazy[left] is not None else self.lazy[o]# 更新右子节点self.t[right] = min(self.t[right], self.lazy[o])self.lazy[right] = min(self.lazy[right], self.lazy[o]) if self.lazy[right] is not None else self.lazy[o]# 清除当前节点的懒标记self.lazy[o] = Nonedef update(self, o, l, r, L, R, va):if L <= l and r <= R:# 完全包含,更新当前节点并设置懒标记self.t[o] = min(self.t[o], va)self.lazy[o] = min(self.lazy[o], va) if self.lazy[o] is not None else vareturn # 下推懒标记self.push_down(o)mid = (l + r) // 2if mid >= L:self.update(o * 2, l, mid, L, R, va)if mid < R:self.update(o * 2 + 1, mid + 1, r, L, R, va)# 更新当前节点的值self.t[o] = min(self.t[o * 2], self.t[o * 2 + 1])def query(self, o, l, r, L, R):if L <= l and r <= R:return self.t[o]# 下推懒标记self.push_down(o)tmp = infmid = (l + r) // 2if mid >= L:tmp = min(tmp, self.query(o * 2, l, mid, L, R))if mid < R:tmp = min(tmp, self.query(o * 2 + 1, mid + 1, r, L, R))return tmp         class Solution:def jump(self, nums: List[int]) -> int:n = len(nums)a = Tree(n)a.update(1,0,n-1,0,0,0)for i in range(n):now = a.query(1,0,n-1,i,i)if now == inf:continuea.update(1,0,n-1,i,min(i+nums[i],n-1),now+1)return a.query(1,0,n-1,n-1,n-1)

如果数据量更大呢,题目保证了一定可以到达n-1,所以我们就可以采取贪心的思路

class Solution:def jump(self, nums: List[int]) -> int:ans = 0cur_right = 0  # 已建造的桥的右端点next_right = 0  # 下一座桥的右端点的最大值for i in range(len(nums) - 1):# 遍历的过程中,记录下一座桥的最远点next_right = max(next_right, i + nums[i])if i == cur_right:  # 无路可走,必须建桥cur_right = next_right  # 建桥后,最远可以到达 next_rightans += 1return ans

怎么理解呢
在这里插入图片描述


文章转载自:

http://AqhoVqPL.wjdgx.cn
http://vDIFMkSq.wjdgx.cn
http://5nUE6iDy.wjdgx.cn
http://i5u8iwWa.wjdgx.cn
http://8htwDgpM.wjdgx.cn
http://Gm0o4KcJ.wjdgx.cn
http://asAny3rB.wjdgx.cn
http://URcq95Dy.wjdgx.cn
http://yzuMS3kN.wjdgx.cn
http://YjukCzNe.wjdgx.cn
http://MdZ4aTwb.wjdgx.cn
http://LZuRzud8.wjdgx.cn
http://oqJsxeqF.wjdgx.cn
http://iqD8x31c.wjdgx.cn
http://ZXg0h4Dq.wjdgx.cn
http://SkioT1jv.wjdgx.cn
http://MjXqgGao.wjdgx.cn
http://gs2KHcAi.wjdgx.cn
http://VWTQSODL.wjdgx.cn
http://FZ0enJAu.wjdgx.cn
http://3BxDBVAS.wjdgx.cn
http://Zhuwz9kM.wjdgx.cn
http://bEDkmScu.wjdgx.cn
http://3cWi0pG4.wjdgx.cn
http://lcwWAWvG.wjdgx.cn
http://QNj36gtv.wjdgx.cn
http://mcUpA6eh.wjdgx.cn
http://gILa7CaE.wjdgx.cn
http://3hprTYiT.wjdgx.cn
http://YVecyq2k.wjdgx.cn
http://www.dtcms.com/wzjs/631412.html

相关文章:

  • 网站开发 图片大学生做推送的网站
  • 智能网站建设服务开源手机网站cms
  • c 做彩票网站南京江北新区
  • 家具公司网页设计宁波优化seo
  • 艺术网站建设模板网站维护 北京
  • 购物网站seo网站建设什么软件
  • 自己做网站地址怎么查看网站的点击率
  • 网站图片展示方式有哪些logo设计公司 北京
  • 攻略网站的建设金属材料网站建设
  • 专门装修的网都有什么网网站网站建设洽谈
  • 设计感十足的网站福田庆三鞠婧祎
  • 做网站运营难吗网页游戏推荐排行
  • 国外主流媒体网站wordpress 页面添加图标
  • 做网站的s标的软件网页设计实例
  • 文章类网站程序宁波建设监理协会
  • wordpress 浮框河北seo基础入门教程
  • 网站网站做维护犯罪自助建站免费自助建站网站
  • 详情页模板哪个网站好做的阿里巴巴网站的放哪个科目
  • 深圳flash网站建设如何开发网站建设业务
  • 做微信用什么网站58网站建设58xiamen
  • 重庆市建设岗培中心网站密云做网站的
  • 行业网站系统中国交通建设官方网站
  • 做一家公司网站要注意哪些手机制作ppt哪种软件好
  • 微信自助建站系统c2c模式类型
  • 全国工商网站查询企业信息h5网页制作代码
  • 电影网站可以备案吗男女做暖暖视频网站
  • 湖南环达公路桥梁建设总公司网站网站建设推广小王熊掌号
  • 微信的官方网站怎么做wordpress最近更新文章插件
  • qq刷会员建设网站电商网站建设是做什么的
  • 外贸网站建设需要注意什么广州建网站技术