Esta es una revisión de esta pregunta ahora eliminada por ar kang . Si el OP de esa pregunta quisiera reclamar esta pregunta o tiene un problema conmigo publicando esto, me complacería complacerlo
Dada una lista de enteros como entrada, encuentre la suma máxima posible de una sublista continua que comienza y termina con el mismo valor. Las sublistas deben tener una longitud de al menos 2. Por ejemplo, para la lista
[1, 2, -2, 4, 1, 4]
Hay 2 sublistas continuas diferentes que comienzan y terminan con el mismo valor
[1,2,-2,4,1] -> 6
[4,1,4]      -> 9
La suma mayor es 9, por lo que produce 9.
Puede suponer que cada entrada contiene al menos 1 duplicado.
Este es el código de golf, por lo que las respuestas se puntuarán en bytes, con menos bytes mejor.
Casos de prueba
[1,2,-2,4,1,4]  -> 9
[1,2,1,2]       -> 5
[-1,-2,-1,-2]   -> -4
[1,1,1,8,-1,8]  -> 15
[1,1,1,-1,6,-1] -> 4
[2,8,2,-3,2]    -> 12
[1,1,80]        -> 2
[2,8,2,3,2]     -> 17
                
                    
                        code-golf
                                number
                                array-manipulation
                                
                    
                    
                        Asistente de trigo
fuente
                
                fuente

[2,8,2,3,2]ser 12 o 17? Presumo 17.Respuestas:
Haskell , 62 bytes
ftoma una lista de enteros y devuelve un entero.Pruébalo en línea!
Cómo funciona
tes la función estándar "obtener todos los sufijos de una lista sin importarData.List.tails".f l, la comprensión de la lista recorre en iteración todos los sufijos no vacíos de la lista de argumentosl, con el primer elementoxy el restom.m, seleccionando el primer elementoyy el reston.xyyson iguales, la comprensión de la lista incluye la suma de los elementos entre ellos. Esta sublista es la misma quex:mcon su sufijoneliminado, por lo que la suma se puede calcular comox+sum m-sum n.fuente
JavaScript (ES6),
6862 bytesCasos de prueba
Mostrar fragmento de código
Comentado
fuente
y - a[i]y(x += y) < m, en mi humilde opinión, el código sería un poco más claro con el intercambio, ya que parece un simple campo de golf(x += y) < m || y != a[i].(x+=y)<m|y-a[i]podría malinterpretarse(x+=y)<(m|y-a[i]). No estoy seguro de que realmente elimine la ambigüedad. (Editado de todos modos porque tiendo a preferir esta versión).y-a[i]|(x+=y)<mcomo(y-a[i]|(x+=y))<m...Jalea , 12 bytes
Pruébalo en línea!
Cómo funciona
fuente
Casco , 10 bytes
Pruébalo en línea!
Explicación
fuente
Haskell , 66 bytes
Pruébalo en línea!
fuente
R ,
108103908883 bytesPruébalo en línea!
combn¡golpea de nuevo! Genera al menos todas las sublistas de longitud2, establece la suma de la sublista en-Infsi el primero y el último no son iguales, y toma el máximo de todas las sumas.Esto
"if"generará un montón de advertencias, pero son ignorables con seguridad: ese es probablemente el mejor truco de golf aquí,rev(p)-pes cero en el primer elemento iffp[1]==tail(p,1)y"if"usa el primer elemento de su condición con una advertencia.fuente
Python 3 , 81 bytes
Pruébalo en línea!
fuente
Python , 62 bytes
Pruébalo en línea!
Emite una lista singleton .
fuente
Jalea ,
13, 12 bytesPruébalo en línea!
Un byte guardado por el Sr. Xcoder, que actualmente está compitiendo conmigo. :RE
Explicación:
fuente
Wolfram Language (Mathematica) , 54 bytes
Pruébalo en línea!
fuente
Pyth, 15 bytes
Pruébalo en línea
Explicación
fuente
05AB1E , 9 bytes
Pruébalo en línea!
Explicación
fuente
Limpio ,
949086 bytesPruébalo en línea!
fuente
[1, 1, 80]caso de prueba.Python 2 , 86 bytes
Afligido por Dennis
Pruébalo en línea!
Genera todas las sublistas más grandes que la longitud 2, donde el primer elemento es igual al último, luego asigna cada una a su suma y selecciona el valor más grande.
fuente
enumerate.Ruby , 64 bytes
Pruébalo en línea!
fuente
Julia 0.6 , 70 bytes
Pruébalo en línea!
fuente
Jalea , 11 bytes
Utiliza algunas características que son posteriores al desafío.
Pruébalo en línea!
¿Cómo funciona?
Ẇµ.ịEȧḊµƇ§Ṁ || Programa completo Toma entrada de CLA, salidas a STDOUT. Ẇ || Sublistas. µ µƇ || Filtrar-Guardar esos ȧḊ || ... que tienen una longitud de al menos 2 y ... .ị || ... Los elementos en el piso (0.5) y el techo (0.5) (modular, 1 indexado) ... E || ... Son iguales. § || Suma cada uno. Ṁ || Máximo.-1 con ayuda de caird .
fuente
Lote, 179 bytes
Toma datos como parámetros de línea de comandos.
fuente
C, 104 bytes
Pruébalo en línea!
C (gcc) , 99 bytes
Pruébalo en línea!
fuente
Clojure, 92 bytes
fuente
Java 8, 129 byes
Para cada número entero
Xen la lista, la función encuentra la suma de la sublista más grande con inicio y finX. Luego, encuentra la suma máxima que especifica el OP.fuente
[2,8,2,-3,2]caso de prueba, y posiblemente[1,1,80]también.Perl,
6159 bytesIncluye
+3para-p:max_ident_run.pl:Correr como:
fuente