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

力扣面试经典150题打卡

题目链接:55. 跳跃游戏 - 力扣(LeetCode)

大致思路

举例:nums=[3,2,1,0,4]

看图理解代码的意思,当i的值小于mx的值的时候,这个地方就到不了

1从左到右遍历数组nums,同时查看可以跳的最远距离,初始值设置为0(最远距离),

2:遍历过程中,如果i>maxNum,说明没有办法跳到i这个地方,就直接返回false,既然i的这个位置都到不了了,所以最后的位置也到达不了

3如果没有,就将maxNum的值进行更新,更新为maxNum和i+nums[i]之间的最大值即可

4没有返回false就是true了

代码体现:

class Solution {public boolean canJump(int[] nums) {int maxNum =0;for(int i=0;i<nums.length;i++){if(i>maxNum){return false;}maxNum = Math.max(maxNum,i+nums[i]);}return true;}
}

题目链接:45. 跳跃游戏 II - 力扣(LeetCode)

思路一:

第二道题看的是力扣官方的题解

1逆向思维,首先找到可以跳到最后一个位置,而且距离最后一个位置最远的地方,

2将这个最远的地方的i赋值给position,步数(step++)

3紧接着找现在i=position位置,前面可以跳到的,而且距离最远的一个地方,在进行步骤二的操作

误区:

这里可能会有人有误区,i++,i一直在变大,怎么退出循环呢,请注意break,它结束的是内层循环,break一次后,内层循环仍然要从0开始循环,所以,只有当position逆向到达起点的时候,循环结束,得到结果.

下面给出一个举例说明:

举例说明(数组 [2,3,1,1,4]

  • 初始 position = 4(终点),step = 0
  • 内层循环找 i
    • i=02+0=2 < 4 → 不满足。
    • i=13+1=4 ≥ 4 → 满足,更新 position = 1step = 1
  • 再次进入 while 循环(position=1 > 0):
    • 内层循环找 i
      • i=02+0=2 ≥ 1 → 满足,更新 position = 0step = 2
  • position=0,循环结束,返回 step=2(与最优解一致)。

代码体现:

class Solution {public int jump(int[] nums) {int position =nums.length-1;int step=0;while(position>0){for(int i=0;i<position;i++){if(nums[i]+i>=position){position=i;step++;break;}}}return step;}
}
思路二:

1正向思维,这里借助灵神的建桥思想,通过循环数组,获取可以建造的最大长度的桥段

2循环进行,当循环到i==目前建造桥段的最右端的时候,这时候必须要建造新桥

3新桥的长度已经获取,取得是nextLength和i+nums[i]的较大值,新桥的长度确定了,那么目前建造桥段的最右端距离也确定了,赋值给curRight(已经建造桥段的最右端距离)

4当必须建桥的时候,计数器也要做一次++操作,最后返回计数器即可

题目的隐含意思:数组一定可以到达最后一个位置,所以我们的循环添加为len-1,是因为curRight后边肯定会大大覆盖最后一个位置,下面是灵神的问答

代码如下:

class Solution {public int jump(int[] nums) {int len = nums.length;int curRight= 0;int nextLength=0;int ans=0;for(int i=0;i<len-1;i++){nextLength = Math.max(nextLength,i+nums[i]);if(i==curRight){curRight = nextLength;ans++;}}return ans;}
}

http://www.dtcms.com/a/541292.html

相关文章:

  • 网站设计就业压力官方网站开发招标须知
  • Android开发常见报错及解决方法(详细版)
  • 做网站内容火星人网页设计培训
  • 免费微网站_自助建站海外直播tiktok
  • 浔川社团总访问量超 13 万:数据见证成长,热爱铸就辉煌
  • Java的StringBuffer类
  • 商务网站建设的流程网站建设需求分析报告撰写
  • EagleTrader交易员采访|用概率取代情绪,让交易回归理性
  • 【复现】AI-IMU Dead-Reckoning
  • 哪个建设网站公司好苏州网站建设软件
  • 帮别人设计做关于图的网站关键词排名推广
  • Kotlin reified泛型 和 Java 泛型 区别
  • 新手如何优化网站排名国外网站注册
  • 湖南网站建设效果东莞南城做网站推广的公司
  • langchain agent将用户问题转sql并运行sql查询
  • 前端之轮播图代码优化
  • 德州网站有哪些特价服务器
  • 山西省太原建设工程信息网站网站地域分站怎么做
  • 【机器学习09】调试策略、错误分析、数据增强、迁移学习
  • 网站开发相关技术天空影院手机免费观看在线
  • 南昌哪里做网站好几百块钱建网站
  • 目标使用过期的TLS1.0 版协议
  • 笔试-计算网络信号
  • 一流的网站建设做ui必要的网站
  • 摄像头拍摄照片
  • UVa 1620 Lazy Susan
  • 中国工程建筑门户网站官网房产网签
  • RabbitMQ事务机制详解
  • 网站开发人员的水平wordpress听说对百度不友好
  • 中国网站空间西安营销策划推广公司