Cita:
Iniciado por marlanga No, el código no es el mismo. Cometiste un pequeño error, y lo has solucionado en ese nuevo envío.
O no.
Cometes un error mirando dos trozos de código son idénticos.
Por lo tanto, al código original sólo le faltaba el caso del rey libre (en eso tienes razón), aunque no afecta al algoritmo.Es una modificacion simple a la interpretación del resultado.
http://jsfiddle.net/NLu2G/2/
Al ser una modificación externa al bucle (como cualquier otra que se tuviera que hacer), no cambia el orden del algoritmo.Sigue siendo 3 veces más rápido que la solución más rápida anterior.