Difference between causality and memorylessness
A causal system does not need to know the future in order to compute its output. A memoryless system computes the output only from the current input. A memoryless system is always causal (as it doesn't depend on future input values), but a causal system doesn't need to be memoryless (because it may depend on past input or output values).

The system $$y[n]=x[n]+2x[n+1]$$ is non-causal because it needs to look into the future (by $1$ sample) to compute its output. The system $$y[n]=3\big(x[n]\big)^2$$ is memoryless (and necessarily causal) because it only needs the current input sample $x[n]$ to compute the output.

The systems in your question are both causal and have memory (if $n_0&gt;0$).