Need a corner case check for only one element [0].

 1 class Solution {
 2 public:
 3     bool canJump(int A[], int n) {
 4         if (n < 2) return true;
 5         int i = 0, current = 0;
 6         while (i < n) {
 7             if (A[i] == 0) return false;
 8             current = i + A[i];
 9             if (current >= n-1) return true;
10             for (int j = i+1, tmp = 0; j <= current; j++) {
11                 if (j + A[j] > tmp) {
12                     tmp = j + A[j];
13                     i = j;
14                 }
15             }
16         }
17     }
18 };

 

posted on 2015-03-20 05:51  keepshuatishuati  阅读(120)  评论(0编辑  收藏  举报