4 ms·
This implementation always moves the nth item, it should only do it most of the time, it could never return the starting array but needs to be able to.
by Terribledactyl 9y ago
This implementation always moves the nth item, it should only do it most of the time, it could never return the starting array but needs to be able to.
- thethirdone 9y agoThis implementation NEVER moves the nth item as that is past the end of the array. i = Math.random() * n-- | 0; generates a value less than n. And t = array[n]; array[n] = array[i]; array[i] = t; is using a decremented n. You are being confused by the `n--` in the random selection.