POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Álgoritmo de Kadane (versión en español)

Algoritmo de Kadane: Suma máxima subarray eficiente

Publicado el 02/10/2025

Álgoritmo de Kadane – Suma máxima de subarray de forma eficiente

El problema: imagina un juego en el que cada ronda sumas o restas puntos. Quieres elegir una secuencia de rondas consecutivas que dé la mayor puntuación posible. Esto se conoce como el problema de la submatriz o subarray máximo.

Solución ingenua: podrías comprobar todas las submatrices consecutivas y sumar cada una. Por ejemplo el arreglo [2, -3, 6] tiene las siguientes submatrices consecutivas y sus sumas: [2] = 2, [2, -3] = -1, [2, -3, 6] = 5, [-3] = -3, [-3, 6] = 3, [6] = 6. La suma máxima es 6. Este método es correcto pero muy lento para arreglos grandes con complejidad de tiempo O(n²).

Algoritmo de Kadane (solución eficiente O(n)): Kadane resuelve el problema en tiempo lineal O(n) y ocupa O(1) de memoria adicional. Es una técnica inspirada en programación dinámica pero extremadamente simple y eficiente.

Conceptos clave: usamos dos variables. currentSum mantiene la suma acumulada de la submatriz candidata. maxSum guarda la mejor suma encontrada hasta el momento. Recorremos el arreglo una sola vez y en cada paso actualizamos ambas variables.

Lógica del algoritmo: para cada elemento x del arreglo hacemos currentSum += x para intentar extender la submatriz actual. Si currentSum > maxSum actualizamos maxSum. Si currentSum < 0 reiniciamos currentSum a 0 porque una suma negativa perjudica cualquier submatriz futura que la incluya.

Implementación en JavaScript: function maxSubArray(arr) { let currentSum = 0; let maxSum = -Infinity; for (let x of arr) { currentSum += x; if (currentSum > maxSum) { maxSum = currentSum; } if (currentSum < 0) { currentSum = 0; } } return maxSum; }

Ejemplo paso a paso con arr = [2, -1, 3, -4, 5, -2, 2]: al iniciar currentSum = 0 y maxSum = -Infinity, tras procesar 2 currentSum = 2 maxSum = 2, tras -1 currentSum = 1 maxSum = 2, tras 3 currentSum = 4 maxSum = 4, tras -4 currentSum = 0 (se resetea) maxSum = 4, tras 5 currentSum = 5 maxSum = 5, tras -2 currentSum = 3 maxSum = 5, tras 2 currentSum = 5 maxSum = 5. Resultado final maxSum = 5.

Caso especial de todos negativos: Kadane funciona también si todos los valores son negativos porque inicializamos maxSum con -Infinity, por lo que devolverá el mayor valor negativo en lugar de cero.

Resumen: Kadane resuelve el problema del subarray máximo en tiempo O(n) y espacio O(1) usando solo currentSum y maxSum. Reiniciamos currentSum cuando pasa a negativo porque cualquier prefijo negativo reduce la suma futura. Es una solución concisa, rápida y óptima para este problema clásico.

En Q2BSTUDIO aplicamos principios como los del algoritmo de Kadane para construir soluciones de software a medida robustas y eficientes. Si buscas desarrollar aplicaciones a medida o software a medida optimizado, nuestro equipo de desarrollo crea arquitecturas escalables y limpias. También integramos capacidades de inteligencia artificial y agentes IA para automatizar decisiones y mejorar procesos de negocio, además de ofrecer servicios de ciberseguridad, pentesting, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones con power bi.

Palabras clave relevantes: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Contacta con Q2BSTUDIO para llevar tu proyecto desde la idea hasta la producción con técnicas y buenas prácticas que garantizan rendimiento y seguridad.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio