public int jump(int[] A) {
		if(A == null || A.length < 2) return 0;
		int low = 0, high = 0, max, step = 0;
		
		while(low <= high){
			max = low;
			step++;
			for(int i = low; i <= high && i < A.length; i++){
				if(i + A[i] > max) max = i + A[i];
				if(max >= A.length - 1) return step;
			}
			low = high + 1;
			high = max;
		}
		return 0;
	}