给你一个非负整数数组 nums ,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
假设你总是可以到达数组的最后一个位置。
class Solution {public int jump(int[] nums) {int n = nums.length;int len = n - 1;int res = 0;while(len > 0){for(int i = 0; i < len; i++){if(i+ nums[i] >= len){len = i;res++;break;}}}return res;}
}
class Solution {public int jump(int[] nums) {int position = nums.length;int maxPosition = 0;int end = 0;int res = 0;for(int i = 0; i < position - 1; i++){maxPosition = Math.max(maxPosition,i+nums[i]);if(i == end){end = maxPosition;res++;}}return res;}
}
本文发布于:2024-01-31 13:18:28,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170667831128808.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |