Same with Jump Game I. Just need a step parameter and assume there is no "0" value in the array.

 1 class Solution {
 2 public:
 3     int jump(int A[], int n) {
 4         if (n < 2) return 0;
 5         int current = 0, i = 0, steps = 0;
 6         while (i < n) {
 7             current = i + A[i];
 8             steps++;
 9             if (current >= n-1) return steps;
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:54  keepshuatishuati  阅读(150)  评论(0编辑  收藏  举报