LeetCode55 Jump Game

来源:互联网 发布:scala和java混合使用 编辑:程序博客网 时间:2024/06/14 14:47

详细见:leetcode.com/problems/jump-game


Java Solution: github

package leetcode;public class P055_JumpGame {public static void main(String[] args) {System.out.println(new Solution1().canJump(new int[]{2,3,1,1,4}));System.out.println(new Solution1().canJump(new int[]{3,2,1,0,4}));}/* * 4 ms * 3.78% */static class Solution1 {    public boolean canJump(int[] nums) {    if (nums == null || nums.length == 0)    return true;    int max = nums[0], i = 1;    while (true) {    if (max >= nums.length - 1)    return true;    if (max < i)    return false;    if (i == nums.length)    break;    max = Math.max(max, nums[i] + i);    i ++;    }        return false;    }}}


C Solution: github

/*    url: leetcode.com/problems/jump-game/    AC 6ms 31.34%*/#include <stdio.h>#include <stdlib.h>#define bool intint _max(int a, int b) {    return a < b ? b : a;}bool canJump(int* n, int nn) {    int mti = 0, i = 0;    for (i = 0; i < nn; i ++) {        if (mti < i) return 0;        mti = _max(mti, n[i] + i);        if (mti > nn-1) return 1;    }    return 1;}int main() {    int n[] = {3,2,1,0,4};    int nn = 5;    printf("answer is %d\r\n", canJump(n, nn));}



Python Solution: github

#coding=utf-8'''    url: leetcode.com/problems/jump-game    @author:     zxwtry    @email:      zxwtry@qq.com    @date:       2017年4月11日    @details:    Solution: 45ms 46.70%'''class Solution(object):    def canJump(self, n):        """        :type n: List[int]        :rtype: bool        """        nn = 0 if n == None else len(n)        mti = 0        for i in range(nn):            if i > mti: return False            mti = max(mti, i+n[i])        return True    if __name__ == "__main__":    n = [2,3,1,1,4]    n = [3,2,1,0,4]        print(Solution().canJump(n))


0 0
原创粉丝点击