Siła grawitacyjna jest siłą, która przyciąga dowolne dwa obiekty masą. W tym wyzwaniu naszymi obiektami będą Liczby, a ich masa będzie ich wartością. Aby to zrobić, nie dbamy o siłę siły, ale o jej kierunek.
Wyobraź sobie ten zestaw liczb
[1 6 9 4 6 9 7 6 4 4 9 8 7]
Każdy z nich tworzy siłę między sobą a sąsiednimi liczbami. W niektórych warunkach spowoduje to przyciągnięcie (przesunięcie) innej liczby w kierunku liczby. Gdy liczba jest większa niż sąsiednia, przyciąga ją. Rzućmy okiem na nasz poprzedni przykład:
[1 → 6 → 9 ← 4 6 → 9 ← 7 ← 6 ← 4 4 → 9 ← 8 ← 7]
Liczba 1nie jest wystarczająco duża, aby ją przenieść 6, ale liczba 6jest itd. Zasadniczo liczby są przenoszone do największej liczby sąsiedniej (również większej niż sama liczba). Jeśli obie sąsiednie liczby są równe, nie jest to przyciągane. Dzieje się tak również wtedy, gdy liczba i sąsiednie są równe.
Ma to jedynie na celu pokazanie atrakcji, ale co się potem stanie? Liczby, które kolidują z powodu przyciągania, są sumowane:
[20 32 28]
Zasadniczo więc wyzwaniem jest, biorąc pod uwagę zestaw liczb, wyprowadzić wynik przyciągniętego zestawu liczb.
Przykład 1
Input => [10 15 20 10 20 10 10]
[10 → 15 → 20 10 20 ← 10 10]
Output => [45 10 30 10]
Przykład 2
Input => [9 9 9 9 8 1 8]
[9 9 9 9 ← 8 1 8]
Output => [9 9 9 17 1 8]
Przykład 3
Input => [1 6 9 4 6 9 7 6 4 4 9 8 7]
[1 → 6 → 9 ← 4 6 → 9 ← 7 ← 6 ← 4 4 → 9 ← 8 ← 7]
Output => [20 32 28]
Przykład 4
Input => [1 2 3 2 1]
[1 → 2 → 3 ← 2 ← 1]
Output => [9]
Przykład 5
Input => [1]
Output => [1]
Przykład 6
Input => [1 1]
Output => [1 1]
Przykład 7
Input => [2 1 4]
Output => [2 5]
Notatki
- Atrakcja dzieje się tylko raz
- Liczby nie są przyciągane do nieprzylegających liczb
- Zbiór liczb będzie zawierał wyłącznie liczby całkowite dodatnie
[1 3 5 4 2]= 15?
G*M*m / r^2jest równa dla obu ciał. Lżejszy porusza się bardziej niż cięższy z powodu pędu, a nie z powodu braku przyciągania. Może powiedz „1 nie jest wystarczająco duży, aby przenieść 6”.