LeetCode0055.跳跃游戏 Go语言AC笔记

LeetCode0055.跳跃游戏 Go语言AC笔记_第1张图片

 时间复杂度:O(n)

解题思路

从左往右顺序遍历数组,同时保存已知能达到的最右索引。当遍历到某位置其索引小于保存的能达到的最右索引变量时,就说明其余最右索引间有断点导致无论怎样跳跃都无法到达现在的索引位置。

AC代码

func canJump(nums []int) bool {
    if len(nums)==1 {
        return true
    }
    mostRight:=0
    for i,v:=range nums{
        if i>mostRight{
            return false
        }
        if i+v>mostRight{
            mostRight=i+v
        }
    }
    return true
}

感悟

别想太多了,本身题不难,思路最重要!

你可能感兴趣的:(LeetCode,#,数组,数据结构,golang,力扣,算法)