LeetCode 55: Jump Game

原创 2016年05月30日 19:23:09

LeetCode 55: Jump Game

算法一思路

(1)假定用start出发,用next记录从[start + 1, end]出发能到达的最远距离;
(2)更新start和end;
(3)如果next和end相等,表明不能继续,返回false;

代码

public class Solution {
    public boolean canJump(int[] nums) {
        if (nums.length == 1) return true;
        int start = 0, end = nums[0], next = end;
        while (end < nums.length - 1) {
            for (int i = start + 1; i <= end; i++) {
                if (i + nums[i] > next) next = i + nums[i]; 
            }
            if (next == end) return false;
            start = end;
            end = next;
        }
        return true;
    }
}

算法二思路

(1)从nums.length - 1 开始,如果 i + nums[i] >= min,表明如果能到达i则一定能到达最后一个索引处;
(2)更新min;
(3)最后min等于0,表示到达0就能到达最后,返回true;
(4)这两种算法的时间复杂度均为O(N).

public class Solution {
    public boolean canJump(int[] nums) {
        int N = nums.length;
        int min = N - 1;
        for (int i = N - 2; i >= 0; i--) {
            if (i + nums[i] >= min) min = i;
        }
        return (min == 0);
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[leetcode] 55. Jump Game

Given an array of non-negative integers, you are initially positioned at the first index of the arra...

leetcode题解-55. Jump Game && 56. Merge Intervals

55, 题目:Given an array of non-negative integers, you are initially positioned at the first index of t...

LeetCode 55. Jump Game

LeetCode 55. Jump Game

LeetCode 55. Jump Game

本题的大概题意:给定一个整型数组nums,数组的每个值代表能从该位置向前走的最大的步数。一开始时玩家处于数组的第一个位置,问玩家能否到达最后一个位置。           这道题我使用了两种方法,第一...

LeetCode55 Jump Game

详细见:leetcode.com/problems/jump-game Java Solution: github package leetcode; public class P0...

leetcode刷题之旅——55. Jump Game

做过了贪心算法中比较简单的一道题,选择了这道通过率百分之二十多的题目,虽然也是middle,但是感觉比前面的那道题目难想很多。 题目大意:         给定一个非负整数的数组,现在我们目的是要...

【leetcode】【55】Jump Game

一、问题描述 Given an array of non-negative integers, you are initially positioned at the first index...

LeetCode 55/45 Jump Game I/II-----Greedy**

一:Jump Game 题目: Given an array of non-negative integers, you are initially positioned at the first ...

Leetcode-55. Jump Game

Given an array of non-negative integers, you are initially positioned at the first index of the arra...

[leetcode]55. Jump Game ,C++/PYTHON实现,medium难度

[leetcode]55. Jump Game ,C++/PYTHON实现,medium难度
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)