Bonjour, j'ai un exercice très bizarre que je n'arrive pas à résoudre,le voici:
Pour attirer les touristes ,un casino de Las Vegas propose un buffet à volonté
où chacun paye ce qu'il souhaite payer.
Sachant que vous connaissez ce que chaque touriste est prêt à payer, on vous
demande de calculer les gains du restaurant pour la journée:
- En début de journée , le restaurant est vide.
- Un touriste arrive,est placé,mange,paye et s'en va.
- il y'a seulement nbSeats places disponibles.Un touriste peut manger et payer
seulement s'il peut être placé. - Si un touriste arrive au restaurant alors qu'il n'y a plus de places disponibles:
- Soit il attend son tour jusqu'à ce qu'une place se libère
- Soit il attend un moment et part avant qu'une place se libère
- Un touriste peut venir plusieurs fois dans la journée dans ce cas il ne paye au maximum
qu'une seule fois.
implémentez la méthode
computeDayGains(nbSeats,payingGuests,guestMovements) qui renvoie les gains
de la journée:
- Le tableau payingGuests contient ce que chaque touriste est prêt à payer.Par exemple si payingGuests[5] vaut 25,
cela veut dire que le touriste avec l'identifiant 5 est prêt à payer 25$ pour le buffet.
- Le tableau guestMovements donne l'ordre des arrivées et des départs de touristes.La première fois que vous
trouvez un identifiant dans le tableau, il s'agit d'une arrivée.La deuxième fois ,il s'agit d'un départ.Une arrivée est
toujours suivie d'un départ dans la journée.
Voici le code qu'il faut compléter:
1 2 3 4 5 6 7 8 9 10 11
| class Solution {
public static int computeDayGains(int nbSeats,int[] payingGuests,int[] guestMovements){
return 0;
}
} |
Voici le code que j'ai proposé:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Solution {
public static int computeDayGains(int nbSeats , int[] payingGuests , int[] guestMovements){
int sum=0;
for (int i=0;i< payingGuests.length;i++){
sum=sum+payingGuests[i];
}
return (nbSeats*sum);
} |
guestMovements
est un array et je ne sais pas comment l'utiliser dans le calcul des gains de la journée,
Avez - vous une idée ?
Partager