public static boolean canJump(int[] A) {
        int max = 0;
        for(int i = 0; i < A.length; i++){
            if(i <= max){
                max = i + A[i] > max ? i + A[i] : max;
                if(max >= A.length - 1) return true;
            }
        }
        return false;
    }