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

浙江网站建设售后保障搜索关键词排名查询

浙江网站建设售后保障,搜索关键词排名查询,什么浏览器可以看违规网站,app注册拉新平台LeetCode 45 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回…

LeetCode 45 跳跃游戏 II

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。
每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:
0 <= j <= nums[i]
i + j < n
返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

动态规划

dp[j]为跳到i位置所需的最少次数
实测能过但是耗时很高,恰好数据集各项数量级每超出限制,但凡0 <= nums[i] <= 1000加一点估计都过不了

提示:
1 <= nums.length <= 104
0 <= nums[i] <= 1000
题目保证可以到达 nums[n-1]

class Solution:def jump(self, nums: List[int]) -> int:length = len(nums)if length == 1:return 0dp = [sys.maxsize] * lengthdp[0] = 0for i in range(length):for j in range(i + 1, min(i + nums[i] + 1, length)):dp[j] = min(dp[j], dp[i] + 1)return dp[length - 1]

转换问题 + 蛮力法

image.png

class Solution:def jump(self, nums: List[int]) -> int:n = len(nums)maxPos, end, step = 0, 0, 0for i in range(n - 1):if maxPos >= i:maxPos = max(maxPos, i + nums[i])if i == end:end = maxPosstep += 1return step# 作者:力扣官方题解
# 链接:https://leetcode.cn/problems/jump-game-ii/
# 来源:力扣(LeetCode)
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是官方贪心解法,感觉并不足够“贪心”,更像是暴力解法,结合上图说一下我的理解:

  1. 首先一定能到,那么最多就n-1次跳跃,所以遍历每一次跳跃情况
  2. 第一次跳跃,发现可以跳到1、2,没到n-1,那么必然会【跳到1或2】,跳跃次数+1
  3. 第二次跳跃,会从1或2跳,可选位置,从1出发有2、3、4,从2出发有3,综合来看就是2、3、4,但是显然第一次就可以跳到2,第二次的2就可以忽略,实际上本次可忽略的位置就是本次可以跳到但是上次本就可以跳到的地方,而可忽略的位置由上次可以跳到的最远距离决定,第二次跳跃可忽略2本身及之前的位置,所以第二次跳跃【结果为3或4】,跳跃次数+1
  4. 第三次跳跃,会从3或4跳,同理,从3可以跳到4、5,从4可以跳到5、6,综合可以到达4、5、6,忽略4,跳跃结果为【5或6】,显然此时就求出来了

代码写法上,应该有两层循环,第一层循环枚举的最多n-1次的跳跃次数,第二层循环,每一次跳跃中的可选位置,巧的是,把所有可选位置连起来正好是一次数组遍历,所以一层循环就可以搞定

如果将end理解为本次跳跃中可忽略数值的上限,maxPos理解为下次跳跃中可忽略数值的上限(需要由本次跳跃备选项进行遍历计算得出),一切则和官方算法一致,或许if maxPos >= i还可省略

class Solution:def jump(self, nums: List[int]) -> int:n = len(nums)maxPos, end, step = 0, 0, 0for i in range(n - 1):maxPos = max(maxPos, i + nums[i])if i == end:end = maxPosstep += 1return step
http://www.tj-hxxt.cn/news/30200.html

相关文章:

  • 大型做网站的公司有哪些seo自学网站
  • 免费自建 响应式 网站百度seo培训要多少钱
  • 南昌成都网站建设方案百度电商推广
  • 网站可以做推广吗百度竞价排名模式
  • 东莞微联建站什么软件可以优化关键词
  • 手机网站 微信平台友情链接购买平台
  • 凡科网是什么企业关键词优化最新报价
  • 如何制作数据库网站市场营销手段13种手段
  • 保定投递网站建设快速排名刷
  • iis做的网站模板seo推广的网站和平台有哪些
  • 企业做淘宝网站需要多少钱公司网页怎么制作
  • wordpress站内搜索框苏州网站优化排名推广
  • 公司注册网上申请网站安徽seo网络优化师
  • 深圳金融投资网站建设朋友圈推广文案
  • 做手机网站和pc如何做淘宝网官方网站
  • 宁晋seo网站优化排名今日冯站长之家
  • 竞价托管公司排名公司seo是什么意思
  • 论某网站职能建设百度指数查询官方网
  • 网站建设方案案例做网站的网络公司
  • 酒店网站制作策划网站建站开发
  • 怎样注册公司网站建立网页怎样优化网络
  • 珠海网站建seo优化啥意思
  • 企业网站一年多少钱手机网站模板下载
  • 常德企业网站建设制造企业网站建设
  • 黄骅广信建设集团网站引擎优化seo
  • 亳州市建设局网站黑龙江暴雪预警
  • 南通网站制作外包seo优化顾问服务阿亮
  • 网站设计师加油站贵阳seo网站推广
  • 新鸿儒网站建设网站seo优化8888
  • 网络托管公司有哪些百度seo关键词点击软件