public boolean canJump(int[] A) {
    	if (A.length < 2)
    		return true;
    	boolean ret = true;
    	int pos = A.length - 1;
    	for (int i = A.length - 2; i >= 0; i--)
    	{
    		if (A[i] == 0 && ret == true)
    		{
    			ret = false;
    			pos = i;
    		}
    		else if (ret == false)
    		{
    			if (i + A[i] > pos)
    				ret = true;
    		}
    	}
    	return ret;
    }