zoukankan      html  css  js  c++  java
  • [Leetcode][Python]55: Jump Game

    # -*- coding: utf8 -*-
    '''
    __author__ = 'dabay.wang@gmail.com'

    55: Jump Game
    https://leetcode.com/problems/jump-game/

    Given an array of non-negative integers, you are initially positioned at the first index of the array.
    Each element in the array represents your maximum jump length at that position.
    Determine if you are able to reach the last index.
    For example:
    A = [2,3,1,1,4], return true.
    A = [3,2,1,0,4], return false.

    === Comments by Dabay===
    每次计算能到达的新范围。
    如果新的范围超越了len(A)-1就范围True.
    '''

    class Solution:
    # @param A, a list of integers
    # @return a boolean
    def canJump(self, A):
    if len(A) <= 1:
    return True
    start = 0
    end = start + A[start]
    while end >= start:
    if end >= len(A) - 1:
    return True
    new_end = end
    for i in xrange(start, end+1):
    new_end = max(new_end, i + A[i])
    start, end = end+1, new_end
    else:
    return False


    def main():
    sol = Solution()
    A = [1,1,1,0]
    print sol.canJump(A)


    if __name__ == "__main__":
    import time
    start = time.clock()
    main()
    print "%s sec" % (time.clock() - start)
  • 相关阅读:
    Centos7安装JDK+部署Tomcat8
    blog开发day3+Django admin的简单使用
    基于form组件的注册 + 基于Ajax的注册
    form组件复习+文件上传
    登录验证+验证码
    Django认证系统--Auth模块
    中间件
    form组件
    Ajax
    自定义分页 Cookie Session和获得路径
  • 原文地址:https://www.cnblogs.com/Dabay/p/4397337.html
Copyright © 2011-2022 走看看