当前位置: 首页 > 网络应用技术

Leecode 45.跳跃游戏II

时间:2023-03-05 22:36:34 网络应用技术

  45.跳跃游戏II难度媒介

  给您一个非负数组,您处于阵列的第一个位置。

  数组中的每个元素代表您可以在此位置跳跃的最大长度。

  您的目标是使用最小的跳跃来达到阵列的最后位置。

  假设您始终可以到达数组的最后位置。

  示例1:

  示例2:

  暗示:

  这个问题吐了我并尝试了各种贪婪,但是在所有方法之后,我去看了官方的问题解决方案。动态转移方程式,这真的使我震惊。知道有人说这是贪婪+动态的,我开始了要分析贪婪的地方和动态的位置,所以我了解此代码。

  贪婪是指每次采取此步骤时可以达到此步骤的最大距离(i + nums [i]),而不是考虑可以达到的下一步(例如,[2,3,1,1,,1、1、1、1、1、1、1、4],第一步可以分两个步骤,我不在乎3个数字后最大的事情)

  这里的动态计划非常隐藏,通常有动态传输方程和动态数组,但是这里很难检测到的动态。一旦到达边界i ==结束,状态结束== maxpos将被更新,以便这将是下一步。

  MAXPOS 0 2 4 4 4 END 0 2 2 4步骤0 1 1 2 2上面的图表将到达边界i = 0或i = 2,端= maxpos将被更新。当您达到步骤-By -step Boundare时,更新到这些步骤的最大值。

  原始:https://juejin.cn/post/709747875711791646