Sigui V un vector de mida
que conté enters (tant positius com negatius). Una
partició de V és una posició
del vector (on
),
tal que que divideix el vector V en dues parts:
V[1:i] i V[(i+1):length(V)]. Es tracta de
trobar la
tal que
sum(V[1:i]) - sum(V[(i+1):length(V)])
sigui mínima (en valor absolut). Aquesta i és la
partició equilibrada.
Fes la funció particio_equilibrada(V) tal que, donat un
vector V, en torni la partició equilibrada. Si n’hi
haguessin més d’una, torneu la de més a l’esquerra. El valor
per a una partició equilibrada és correcte, ja que vol dir que una
partició del vector és buida (i la seva suma és zero).
Per exemple, si la funció rep el vector , torna , ja que , mentre que si rep el vector , torna un , que és la partició equilibrada, ja que és la diferència mínima entre la part esquerra i la dreta.
Tingueu en compte que, si calculeu la suma total del vector al
principi de la funció, podreu resoldre aquest problema amb una
sola passada sobre el vector V.
Un vector V d’enters, amb, almenys, un element.
La partició equilibrada del vector V. Si n’hi haguessin
més d’una, torneu la de més a l’esquerra.
Autoria: Jaume Baixeries
Generació: 2026-01-25T18:24:43.309Z
© Jutge.org, 2006–2026.
https://jutge.org