Este artículo describe la implementación de Java del algoritmo de valor máximo para encontrar la suma de las subrayas. Compártelo para su referencia, como sigue:
En general, C y C ++ se usan con mayor frecuencia en la implementación de algoritmo. A continuación implementamos algoritmos a través del lenguaje Java, lo que nos hace sentir más íntimos.
tema:
Ingrese una matriz de configuración, con números positivos y negativos en la matriz.
Uno o más enteros consecutivos en una matriz forman una subarrray, cada subarriny tiene una suma.
Encuentre el valor máximo de la suma de todos los subarrays.
Por ejemplo, la matriz de entrada es 1, -2, 3, 10, -4, 7, 2, -5, y la subarray más grande es 3, 10, -4, 7, 2,
Por lo tanto, la salida es la suma 18 de la subarray.
Código de implementación:
paquete arrdemo; public class maxSub {public static void main (string [] args) {// todo automático método generado stub findmaxSubarySum1 (); } public static void findmaxSubarySum1 () {// la suma es la suma de la subarray int sum = 0; // max es la suma máxima de la subarray int max = 0; // Inicie la posición de la subarray máxima int inicio = 0; // Posición final de la subarray máxima int endpos = 0; int [] array = {-1, 2, -3, 12, -5, -1, 9, -2}; for (int i = 0; i <array.length; i ++) {sum+= array [i]; // sum if (sum <0) {// Si se encuentra que la suma actual es negativa, borrarla y la posición inicial comienza desde la siguiente posición sum = 0; startPos = i + 1; } if (suma> max) {// Si se encuentra que la suma es mayor que el máximo anterior, asigne suma a max y registre la última posición max = suma; endpos = i + 1; }} System.out.println ("Wulin.com Resultado de la prueba:"); System.out.println ("max:" + max); System.out.println ("startPos:" + startPos + ", endPos:" + (endpos - 1)); }}Resultados de ejecución:
Para obtener más información sobre los algoritmos de Java, los lectores interesados en este sitio pueden ver los temas: "Estructura de datos Java y tutorial de algoritmo", "Resumen de las puntas de nodo de operación de Java DOM", "Resumen de Java Archivo y TIPS de operación de directorio" y "Summary of Java Cache Operation Tips" TIPS ""
Espero que este artículo sea útil para la programación Java de todos.