Esercizio di esame 18/9/2002

Tutti e due i canali/ Parte I

Esercizio 1

Scrivere un metodo statico di programma che prende come parametro un vettore di interi v e un intero k, e restituisce un booleano, il cui valore è:

true
se il vettore contiene almeno k elementi uguali
false
in caso contrario

Esercizio 2

Scrivere un metodo statico di programma che prende come parametro un albero e restituisce il numero delle foglie che hanno almeno un antenato positivo (ossia, nel percorso fra la radice e la foglia c'è almeno un nodo positivo).

Per esempio, dato l'albero qui sotto:

Il metodo deve ritornare 6, dal momento che tutte le foglie tranne le prime due hanno almeno un antenato positivo: -10 e -47 hanno padre positivo; per i nodi -11 e -14 l'antenato positivo è il padre del padre, mentre per 43 e -25 il padre è positivo. Al contrario, per i nodi -18 e 39 tutti gli antenati sono negativi.