Ho riscontrato questo problema mentre lavoravo a un'altra sfida che sto facendo per questo sito. In quella sfida utilizzo " Mario Kart 8 Scoring ". La quantità di punti che il giocatore ottiene al k ° posto è rappresentata da questo array 1 indicizzato: [15,12,10,9,8,7,6,5,4,3,2,1]. Quindi il 1 ° posto ottiene 15 punti, il 2 ° posto ottiene 12 punti, ecc.
È abbastanza facile assegnare punti come questo, tuttavia la parte difficile viene da come gestisco i legami. Quello che faccio è dare ad ogni giocatore che lega la media dei punti assegnati per ogni punto di parità. Ad esempio, se solo 1o e 2o pareggio, entrambi i giocatori ottengono (15 + 12) / 2 = 13,5 punti. (Nota: puoi arrotondare all'int più vicino, quindi anche 13 o 14 sono entrambi accettabili.) Quindi il 3 ° - 12 ° posto ottiene il normale numero di punti per la loro posizione.
Sfida
Dati 12 punteggi interi non negativi che sono ordinati in modo decrescente, genera il numero di punti che ogni giocatore ottiene. Puoi anche prendere la lista dei punti [15,12,10,9, ...] come input. Nota che il numero di punti che ogni giocatore ottiene non dipende dai valori effettivi dei punteggi, ma da come si confrontano con gli altri punteggi.
Casi test
- [21,21,15,14,12,9,6,5,4,3,2,1] => [ 14,14 , 10,9,8,7,6,5,4,3,2, 1]
- [20,15,15,15,10,9,8,7,6,5,4,3] => [15, 10,10,10 , 8,7,6,5,4,3,2, 1]
- spiegazione: (12 + 10 + 9) / 3 = 10.3333
- [1,1,1,1,1,1,1,1,1,1,1,1] => [ 7,7,7,7,7,7,7,7,7,7,7,7, 7 ]
- spiegazione: (15 + 12 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1) / 12 = 6.8333
- [20,20,20,20,10,10,10,9,8,7,6,5] => [ 12,12,12,12 , 7,7,7 , 5,4,3,2, 1]
- spiegazione: (15 + 12 + 10 + 9) / 4 = 11.5, (8 + 7 + 6) / 3 = 7
- [100,99,98,95,95,95,94,93,93,92,91,91] => [15,12,10, 8,8,8 , 6, 5,5 , 3, 2, 2 ]
- spiegazione: (9 + 8 + 7) / 3 = 8, (5 + 4) / 2 = 4.5, (2 + 1) / 2 = 1.5
Correlati: classifica un elenco di punteggi con "salta"