Calcolare l'altezza media di uno skyline

di il
1 risposte

Calcolare l'altezza media di uno skyline

Un esercizio chiede di calcolare l'altezza media di una città vista dal mare, perciò bisogna tenere conto soltanto del palazzo più alto in quel frangente di zona orizzontale.
Il problema sorge nel suddividere tutta la zona, dato che è infinita sia a sinistra che a destra. Avevo pensato a un'opportuna struttura dati che contenesse l'altezza del palazzo più alto per ogni unità di misura (interi, quindi 1), ma immagino che si tratta di una pessima soluzione, considerando che uscirebbe fuori qualcosa di poco efficiente in caso di numeri alti.
Esempio: la città si estende di 100000 verso destra: la struttura dati avrebbe 100000 indici.
Per cui spero che qualcuno possa aiutarmi nel trovare una soluzione più adatta.

Non ho specificato che i palazzi sono oggetti contenuti in un ArrayList (soluzione scelta da me) e che i campi necessari per questa operazione (base, altezza e distanza orizzontale dal centro città), sono degli interi.

Grazie in anticipo.

1 Risposte

  • Re: Calcolare l'altezza media di uno skyline

    Ho provato a fare una bozza su Paint per farvi capire meglio ciò che intendo.

    https://ibb.co/gQUjV

    Mi servirebbe soltanto una struttura dati dinamica che possa contenere l'altezza dell'edificio più alto, per ogni porzione di zona (interi), per poi calcolare l'altezza media.
    Dovrebbe uscire una cosa del genere, seguendo l'esempio della bozza:
    Indice -> valore contenuto
    [0] -> 0
    [1] -> 3
    [2] -> 0
    [3] -> 4
    [4] -> 5
    [5] -> 5
    [6] -> 0
    .........

    Da considerare che la distanza orizzontale si può estendere all'infinito, perciò usando magari liste, arraylist, ... potrebbero diventare lunghissime.
Devi accedere o registrarti per scrivere nel forum
1 risposte