//正向遍历
func canJump1(nums []int) bool {
maxStep := 0
n := len(nums)
if n == 1{
return true
}
for k,v := range nums {
if maxStep >= k && k+v>maxStep {
maxStep = k+v
}
}
return maxStep >=n-1
}
//反向遍历
func canJump(nums []int) bool {
n := len(nums)
if n == 1{
return true
}
maxStep := n-1
for i:=n-2;i>=0;i-- {
if nums[i]+i >= maxStep {
maxStep =i
}
}
return maxStep == 0
}