Se ha optimizado un algoritmo y se ha llegado a la última parte. Tengo una matriz de enteros como esto:La forma más rápida de encontrar el rango de suma máxima en int []
[1, 1, 2, 5, 0, 5, 3, 1, 1]
Mi requisito son los siguientes:
- de entrada: número de números enteros a suma sobre
- la suma max debe consistir en números enteros uno junto al otro
- si un número entero tiene el valor 0 la suma en el rango no sería válida
- la suma máxima de números enteros y el índice de cada número entero se devuelve
Resultados esperados:
entrada dada de 2 (2 queríamos) con la matriz como se ha mencionado debe para ello volver [8, [ 5, 6]] donde 8 es la suma de números enteros en el índice 5 y 6
Dada la entrada de 3 (3 buscados) con la matriz como se menciona debe entonces devolver [9, [5, 6, 7]] donde 9 es la suma de enteros en los índices 5, 6 y 7 (observe que aunque los enteros en los índices 3, 4, 5 tienen una suma más alta t El resultado es inválido debido a que el índice 4 es 0)
Actualmente estoy manejando esto haciendo muchos bucles, pero me preguntaba si alguien tenía una mejor manera de lograr esto. Mi lenguaje de programación de elección es actualmente C# - Por lo tanto, agradecería si las respuestas posibles estuvieran en C#. Cualquier uso de linq y otras características de fantasía de matemáticas está bien, siempre que sea la manera más rápida.
¿es esta tarea? –
Lo siento, he publicado una respuesta. Al menos no está en C# sin embargo. –
No, definitivamente no es tarea ... Desearía que fuera –