Aquí hay una solución de Python (básicamente se lee como pseudocódigo):
def check_word_chain (palabras): si len (palabras) == 0: devuelve True # o false, dependiendo del comportamiento deseado prev_word = palabras [0] #inicializar a la primera palabra len_word = len (anterior_word) para i en rango (1, len (palabras)): if len (palabras [i]) == len_word: found_mismatch = False para j en rango (len_word): if prev_word [j]! = palabras [i] [j]: if found_mismatch: falso retorno found_mismatch = True if found_mismatch: prev_word = palabras [i] de lo contrario devuelve falso de lo contrario devuelve falso volver verdadero t = [] # verdadero t1 = ["curar"] # verdadero t2 = ["curar", "cabeza", "muerto", "escritura", "ciervo", "cerveza"] # verdadero t3 = ["sanar", "cabeza", "muerto", "deef", "venado", "cerveza"] # falso t4 = ["curar", "cabeza", "muerto", "escritura", "ciervo", "beed"] # falso t5 = ["curar", "curar"] # falso pruebas = [t, t1, t2, t3, t4, t5] para i en rango (len (pruebas)): print "test #:" + str (i) + "," + str (check_word_chain (tests [i]))
Comentarios son bienvenidos!
- ¿Puedo considerarme un buen desarrollador si soy malo resolviendo tareas algorítmicas en las entrevistas?
- ¿Cómo podemos encontrar la mediana de la matriz ordenada por filas y columnas de M * N en el tiempo O (max (M, N))?
- ¿Cuál es el mejor método para verificar si un árbol binario es un árbol de búsqueda binario?
- ¿Cuáles son algunas preguntas de aptitud formuladas en una entrevista?
- Cómo ordenar una matriz de N elementos por no más de N swaps