PREDICT THE WINNER MEDIUM
problema
Dado um array de inteiros nums, dois jogadores disputam uma partida. O Jogador 1 começa e
eles se alternam. Na sua vez, o jogador remove um número de uma das pontas do array (o primeiro ou o
último) e soma esse valor à sua pontuação. O jogo termina quando o array fica vazio.
Os dois jogam de forma ótima. Retorne true se o Jogador 1 puder vencer. Empate conta como
vitória do Jogador 1.
nums = [1, 5, 2] → false
Se o J1 pega 1, o J2 pega 5. Se o J1 pega 2, o J2 também pega 5. Em qualquer caso o J2 fica com o 5: a melhor partida do J1 dá 1 + 2 = 3 contra 5.
nums = [1, 5, 233, 7] → true
O J1 pega 1. Se o J2 pegar 5 ou 7, o J1 pega 233. O J1 termina com 234 contra 12.
Restrições: 1 ≤ nums.length ≤ 20 · 0 ≤ nums[i] ≤ 10⁷