Este es un multi-red beneficia a la punta de una pluma preguntas, esto es lo que tenía que Tucao sistema escrito es realmente basura, hacer tela de juicio el sistema con los hábitos de ganado fuera de la red, representa la prueba escrita hecho muy incómodo.
Aquí para compartir mi enfoque
Ideas: pasan dos cadenas de comparar, que corta que larga, cadenas de traspaso cortas, dos bucles for, la longitud máxima del bucle externo de atravesar la disminución de la longitud de uno en uno, dejaron círculo más interno de la cadena corta si la longitud máxima de la cadena de intercepción comenzó, cheque, tomada a través de una larga cadena dentro de la cadena hasta que encuentra una cadena de caracteres coincidente
código:
función findLongestCommonStr (S1, S2) { var commonStr = '', s1.length = Ll, L2 = s2.length; // comparar S1, S2 de longitud, que ven que corta larga var shortStr = ll> L2? S2: S1 ; var LongStr = Ll> L2 de? S1: S2; // corta longitud de la cadena var strLon = shortStr.length; // atraviesan la cadena más corta, que desciende hacia abajo para (el dejar J = strLon; J> 0 ; J, ) { // diferentes longitudes total posible de i, atravesando desde la derecha a hacer para (el LET i = 0; i <= strLon - J; i ++ ) { // porción de la cadena de caracteres sacados corto cadena commonStr = shortStr.substr (I, J); // A fin de facilitar las observaciones durante la marcha, una gran cantidad de impresión visual se verá el console.log ( 'commonStr:', commonStr, 'I:', I, 'J:' , J); // puse observación de cadena larga ver no hay ninguna coincidencia, si hay un retorno directo SI (longStr.indexOf (commonStr)> = 0) volver commonStr } } // en caso contrario, devolverá una cadena vacía de retorno '' } la console.log (findLongestCommonStr ( "qwer--", "qtrrwqw-")); // QW // siguiente resultado impreso, el proceso de ejecución de la función, i se toma desde el principio donde, j es una longitud tomada // commonStr: I qwer--: J 0 :. 6 // commonStr: I qwer-: J 0 :. 5 // commonStr: wer-- I: J. 1 :. 5 // commonStr: qwer I: J 0 :. 4 //commonStr: wer- i: 1 j: 4 // commonStr: er-- i: 2 j: 4 // commonStr: qwe i: 0 j: 3 // commonStr: wer i: 1 j: 3 // commonStr: er - i: 2 j: 3 // commonStr: r-- i: 3 j: 3 // commonStr: qw i: 0 j: 2