Algoritmo de Boyer-Moore | Buen sufijo heurístico

Ya hemos discutido la variación heurística de carácter malo del algoritmo de Boyer Moore. En este artículo discutiremos la heurística Good Suffix para la búsqueda de patrones. Al igual que la heurística de carácter incorrecto, se genera una tabla de preprocesamiento para la heurística de sufijo correcto. Buen sufijo heurístico Sea t una substring de … Continue reading «Algoritmo de Boyer-Moore | Buen sufijo heurístico»

Cómo validar la extensión del archivo de imagen usando la expresión regular

Dada la string str , la tarea es verificar si la string dada es una extensión de archivo de imagen válida o no mediante el uso de expresiones regulares .  La extensión de archivo de imagen válida debe especificar las siguientes condiciones:   Debe comenzar con una string de al menos un carácter. No debe tener … Continue reading «Cómo validar la extensión del archivo de imagen usando la expresión regular»

Algoritmos criptográficos de construcción personalizados (criptografía híbrida)

La criptografía se puede definir como un arte de codificar y decodificar los patrones (en forma de mensajes). La criptografía es un concepto muy sencillo que se ocupa de manipular las strings (o el texto) para que sean ilegibles para la persona intermedia. Tiene una forma muy eficaz de cifrar o descifrar el texto procedente … Continue reading «Algoritmos criptográficos de construcción personalizados (criptografía híbrida)»

Compruebe si la string dada es una substring mezclada de otra string

Strings dadas str1 y str2 . La tarea es encontrar si str1 es una substring en la forma mezclada de str2 o no. Imprima «SÍ» si str1 es una substring en forma aleatoria de str2 ; de lo contrario, imprima «NO».  Ejemplo  Entrada: str1 = “uNodescuatro”, str2 = “holacuatrodosunomundo”  Salida: SÍ  Explicación: str1 es una … Continue reading «Compruebe si la string dada es una substring mezclada de otra string»

Encuentra el jugador para poder reemplazar el último elemento que se puede reemplazar por sus divisores

Dada una array arr[] que consta de N enteros y dos jugadores A y B jugando juntos realizando las siguientes operaciones: Elija un número entero de arr[] y reemplace ese número con uno de sus divisores. Un entero previamente seleccionado no se puede volver a elegir. Como el 1 no tiene otro divisor que no … Continue reading «Encuentra el jugador para poder reemplazar el último elemento que se puede reemplazar por sus divisores»

Programa para encontrar todas las coincidencias de una expresión regular en una string

Requisito previo: smatch | Regex (expresiones regulares) en C++ Dada una expresión regular, la tarea es encontrar todas las coincidencias de expresiones regulares en una string. Sin usar iterador: // C++ program to find all the matches #include <bits/stdc++.h> using namespace std; int main() {     string subject(«My GeeksforGeeks is my »                      «GeeksforGeeks none of your … Continue reading «Programa para encontrar todas las coincidencias de una expresión regular en una string»

Expresión de coincidencia donde un solo carácter especial en el patrón puede coincidir con uno o más caracteres

Dadas dos strings, en las que una es un patrón (Pattern) y la otra es una expresión de búsqueda. La expresión de búsqueda contiene ‘#’. El # funciona de la siguiente manera:   Un # coincide con uno o más caracteres. Un # coincide con todos los caracteres antes de encontrar una coincidencia de patrón. Por … Continue reading «Expresión de coincidencia donde un solo carácter especial en el patrón puede coincidir con uno o más caracteres»

Búsqueda de patrones utilizando el árbol de sufijos – Part 1

Dado un texto txt[0..n-1] y un patrón pat[0..m-1], escriba una función de búsqueda (char pat[], char txt[]) que imprima todas las apariciones de pat[] en txt []. Puede suponer que n > m. ¿Patrón de preprocesamiento o texto de preprocesamiento? Hemos discutido los siguientes algoritmos en las publicaciones anteriores: Algoritmo KMP Algoritmo Rabin Karp Algoritmo … Continue reading «Búsqueda de patrones utilizando el árbol de sufijos – Part 1»

Divida la string binaria en substrings con el mismo número de 0 y 1

Dada una string binaria str de longitud N , la tarea es encontrar el recuento máximo de substrings consecutivas en las que str se puede dividir de manera que todas las substrings estén balanceadas, es decir, tengan el mismo número de 0 y 1 . Si no es posible dividir str cumpliendo las condiciones, imprima … Continue reading «Divida la string binaria en substrings con el mismo número de 0 y 1»

Algoritmo optimizado para la búsqueda de patrones – Part 1

Pregunta: Hemos discutido el algoritmo de coincidencia Naive String aquí . Considere una situación en la que todos los caracteres del patrón son diferentes. ¿Podemos modificar el algoritmo Naive String Matching original para que funcione mejor con este tipo de patrones? Si podemos, ¿cuáles son los cambios en el algoritmo original? Solución: en el algoritmo … Continue reading «Algoritmo optimizado para la búsqueda de patrones – Part 1»