cadena dada Paja de longitud norte. La tarea es determinar si un carácter se presenta sólo como un único contiguo subcadena o no, es decir, no debe haber ningún otro carácter alfabético entre dos alfabetos iguales en la cadena.
Ejemplos:
Aporte: «aaaa»
Salida: no es verdad
Explicación: Existe ‘A’ entre ‘a’ y ‘a’. Por lo tanto, «aa» se vuelve discontinuo.Aporte: “aaaaaabbbb”
Salida: DÓNDE
Explicación: Los diferentes segmentos formados a partir de la entrada dada son «aa», «AA», «bb» y «BB», todos son continuos y no tienen barreras entre ellos.
Acercarse: Usa la siguiente idea para resolver el problema dado:
Almacene la última aparición de cada carácter en tarjeta hash para que se pueda comparar con la ocurrencia anterior y encontrar la distancia entre ellos. Si esta distancia se vuelve más de 1 entonces es discontinuo, de lo contrario continuo.
Siga los pasos dados para solucionar el problema dado:
- Cuerda transversal Paja (decir i).
- si Paja[i] está presente en el mapa
- Si la diferencia entre la última aparición y (yo + 1) es igual a 1 luego actualice la última copia de la yo-esto personaje.
- De lo contrario volver falso.
- De lo contrario, actualice la última copia de yo-esto dibujar en el mapa Hash como (i + 1).
- Rendir DÓNDE después de que termine el bucle.
A continuación se muestra la implementación del enfoque anterior:
C++14
|
Complejidad del tiempo: A)
cuarto auxiliar: A)