A força gravitacional é uma força que atrai dois objetos com massa. Neste desafio, nossos objetos serão Números e sua massa será seu valor. Para fazer isso, não nos importamos com a força da força, mas com a direção dela.
Imagine esse conjunto de números
[1 6 9 4 6 9 7 6 4 4 9 8 7]
Cada um deles cria uma força entre si e seus números adjacentes. Sob algumas condições, isso fará com que outro número seja atraído (movido) para um número. Quando o número é maior que o adjacente, ele o atrai. Vamos dar uma olhada no nosso exemplo anterior:
[1 → 6 → 9 ← 4 6 → 9 ← 7 ← 6 ← 4 4 → 9 ← 8 ← 7]
O número 1
não é grande o suficiente para ser movido 6
, mas o número 6
é, etc ... Basicamente, os números são movidos para o maior número adjacente (também maior que o próprio número). Se os dois números adjacentes forem iguais, não será atraído. Também acontece quando o número e o adjacente são iguais.
Isso é apenas para mostrar a atração, mas o que acontece depois? Os números que colidem devido à atração são resumidos:
[20 32 28]
Então, basicamente, o desafio é: dado um conjunto de números, produza o resultado do conjunto de números atraído.
Exemplo 1
Input => [10 15 20 10 20 10 10]
[10 → 15 → 20 10 20 ← 10 10]
Output => [45 10 30 10]
Exemplo 2
Input => [9 9 9 9 8 1 8]
[9 9 9 9 ← 8 1 8]
Output => [9 9 9 17 1 8]
Exemplo 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]
Exemplo 4
Input => [1 2 3 2 1]
[1 → 2 → 3 ← 2 ← 1]
Output => [9]
Exemplo 5
Input => [1]
Output => [1]
Exemplo 6
Input => [1 1]
Output => [1 1]
Exemplo 7
Input => [2 1 4]
Output => [2 5]
Notas
- A atração acontece apenas uma vez
- Os números não são atraídos para números não adjacentes
- O conjunto de números conterá apenas números inteiros positivos
[1 3 5 4 2]
= 15?
G*M*m / r^2
,, é igual para ambos os corpos. O mais leve se move mais do que o mais pesado por causa do momento, não por falta de atração. Talvez diga "1 não é grande o suficiente para mover 6".