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 1
e 0
per 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 :o
v
0
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 1
voto 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 .o
v
o
deve essere un numero intero, o0
o1
.v
deve 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?