给出一个非负整数数组,你最初在数组第一个元素的位置
数组中的元素代表你在这个位置可以跳跃的最大长度
判断你是否能到达数组最后一个元素的位置
例如
A =[2,3,1,1,4], 返回 true.
A =[3,2,1,0,4], 返回 false.
思路:根据各个位置来判断所有位置能不能到达
package main
/**
*
* @param A int整型一维数组
* @return bool布尔型
*/
func canJump( A []int ) bool {
// write code here
res := make([]bool, len(A))
res[0] = true
for i := 0; i < len(A); i++ {
if res[i] {
for j := i + 1; j <= i+A[i] && j < len(A); j++ {
res[j] = true
if res[len(A)-1] {
return true
}
}
}
}
if res[len(A)-1] {
return true
} else {
return false
}
}