In questa sfida determinerai quanto sia controverso un voto, data una serie di altri voti, capendo un numero chiamato fattore C. Qual è il fattore C, chiedi?
Bene, immagina di avere più voti per un'elezione. Useremo 1e 0per il bene della sfida per rappresentare due diversi candidati in un'elezione. Ecco i dieci voti nelle nostre elezioni campione:
0110111011
Ora, supponiamo di voler trovare il fattore C di qualsiasi voto per candidato 0. Possiamo farlo con la seguente funzione:
In , è il voto per il quale vogliamo determinare il fattore C, ed è un array di voti. Quindi, usando la nostra funzione, per ottenere il fattore C di qualsiasi voto per candidato :ov0
Un fattore C inferiore mostra che il voto è stato meno controverso rispetto agli altri voti. Pertanto, un voto per candidato 0è più diverso dagli altri voti rispetto a un voto per candidato 1. In confronto, il fattore C per il 1voto di un candidato è , quindi è meno controverso perché è più simile agli altri voti.
La sfida
Scrivi una funzione per determinare il fattore C di un voto dati i risultati di un voto .ov
odeve essere un numero intero, o0o1.vdeve essere un array (o un tipo di contenitore simile a seconda delle specifiche della lingua) di lunghezza arbitraria contenente zero e uno.La funzione dovrebbe restituire o stampare sulla console il fattore C risultante dati i parametri della funzione, usando la formula sopra o un metodo modificato.
In bocca al lupo! Vince il minor numero di byte (vincitore scelto tra cinque giorni).
abs(0 - 0.7)uguale a 0.3?
mean(v)uguale a 0,7 nel tuo esempio?