To jest przegląd tego usuniętego teraz pytania przez ar kang . Jeśli OP tego pytania chciałoby odzyskać to pytanie lub ma problem ze mną, publikując to, chętnie się z tym pogodzę
Biorąc pod uwagę listę liczb całkowitych jako danych wejściowych, znajdź maksymalną możliwą sumę ciągłej listy podrzędnej, która zaczyna się i kończy tą samą wartością. Podlisty muszą mieć długość co najmniej 2. Na przykład dla listy
[1, 2, -2, 4, 1, 4]
Istnieją 2 różne ciągłe listy podrzędne, rozpoczynające się i kończące o tej samej wartości
[1,2,-2,4,1] -> 6
[4,1,4] -> 9
Większa suma to 9, więc wyprowadzasz 9.
Możesz założyć, że każde wejście zawiera co najmniej 1 duplikat.
To jest golf golfowy, więc odpowiedzi będą liczone w bajtach, przy czym mniej bajtów będzie lepszych.
Przypadki testowe
[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
Kreator pszenicy
źródło
źródło
[2,8,2,3,2]
mieć 12 lub 17 lat? Przypuszczam, że 17.Odpowiedzi:
Haskell , 62 bajty
f
pobiera listę liczb całkowitych i zwraca liczbę całkowitą.Wypróbuj online!
Jak to działa
t
to standardowa funkcja „pobierz wszystkie sufiksy listy bez importowaniaData.List.tails
”.f l
interpretacji listy iterowane są wszystkie niepuste sufiksy listy argumentówl
, z pierwszym elementemx
i resztąm
.m
, wybierając pierwszy elementy
i resztęn
.x
iy
są równe, lista zawiera sumę elementów między nimi. Ta lista podrzędna jest taka sama, jakx:m
zn
usuniętym przyrostkiem , więc sumę można obliczyć jakox+sum m-sum n
.źródło
JavaScript (ES6),
6862 bajtówPrzypadki testowe
Pokaż fragment kodu
Skomentował
źródło
y - a[i]
i(x += y) < m
- IMHO kod będzie nieco wyraźniejszy przy ich wymianie, od tego czasu wygląda to jak zwykły golf(x += y) < m || y != a[i]
.(x+=y)<m|y-a[i]
może zostać źle zinterpretowany(x+=y)<(m|y-a[i])
. Nie jestem pewien, czy to naprawdę pozbyłoby się dwuznaczności. (Zresztą zresztą i tak, ponieważ wolę tę wersję).y-a[i]|(x+=y)<m
jako(y-a[i]|(x+=y))<m
...Galaretka , 12 bajtów
Wypróbuj online!
Jak to działa
źródło
Łuska , 10 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Haskell , 66 bajtów
Wypróbuj online!
źródło
R ,
108103908883 bajtówWypróbuj online!
combn
uderza ponownie! Generuje wszystkie podlisty o długości co najmniej2
, ustawia sumę podlisty na ,-Inf
jeśli pierwsza i ostatnia nie są równe, i przyjmuje maksimum wszystkich sum."if"
Podniesie kilka ostrzeżeń, ale są one bezpiecznie ignorable - to chyba najlepszy trik golfa tutaj,rev(p)-p
wynosi zero w pierwszym elemencie IFFp[1]==tail(p,1)
i"if"
wykorzystuje pierwszy element jego stanu z ostrzeżeniem.źródło
Python 3 , 81 bajtów
Wypróbuj online!
źródło
Pyton , 62 bajty
Wypróbuj online!
Wyświetla listę singletonów .
źródło
Galaretka ,
13, 12 bajtówWypróbuj online!
Jeden bajt zapisany przez pana Xcodera, który obecnie ze mną konkuruje. :RE
Wyjaśnienie:
źródło
Wolfram Language (Mathematica) , 54 bajty
Wypróbuj online!
źródło
Pyth, 15 bajtów
Wypróbuj online
Wyjaśnienie
źródło
05AB1E , 9 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Czysty ,
949086 bajtówWypróbuj online!
źródło
[1, 1, 80]
przypadku testowym.Python 2 , 86 bajtów
Outgolfed by Dennis
Wypróbuj online!
Generuje wszystkie listy podrzędne o długości większej niż 2, gdzie pierwszy element jest równy ostatniemu, a następnie mapuje każdą do swojej sumy i wybiera największą wartość.
źródło
enumerate
.Rubinowy , 64 bajty
Wypróbuj online!
źródło
Julia 0.6 , 70 bajtów
Wypróbuj online!
źródło
Galareta , 11 bajtów
Korzysta z niektórych funkcji, które są późniejsze niż wyzwanie.
Wypróbuj online!
Jak to działa?
-1 z pomocą kopca .
źródło
Partia, 179 bajtów
Pobiera dane wejściowe jako parametry wiersza polecenia.
źródło
C, 104 bajty
Wypróbuj online!
C (gcc) , 99 bajtów
Wypróbuj online!
źródło
Clojure, 92 bajty
źródło
Java 8, 129 bajtów
Dla każdej liczby całkowitej
X
na liście funkcja znajduje sumę największej podlisty z początkiem i końcemX
. Następnie znajduje maksymalną sumę, jak określa PO.źródło
[2,8,2,-3,2]
przypadku testowym i prawdopodobnie[1,1,80]
również.Perl,
6159 bajtówObejmuje
+3
dla-p
:max_ident_run.pl
:Uruchom jako:
źródło