La société A a examiné combien il faudrait pour acheter des choses pour chaque département afin de soutenir les choses dont chaque département avait besoin. Cependant, comme le budget global est fixe, nous ne pouvons pas fournir des biens à tous les départements. C'est pourquoi j'essaie de rendre possible l'achat de produits dans le plus de départements possible.
Lors de l'achat de choses, chaque département doit appliquer et soutenir le montant total. Par exemple, un département qui demande 1 000 yens doit toujours prendre en charge 1 000 yens et ne peut pas en supporter moins de 1 000.
Si le tableau d et le budget contenant le montant appliqué pour chaque service sont donnés en paramètres, créez une méthode de solution afin que le nombre maximum de services pouvant prendre en charge les choses soit renvoyé.
--d est un tableau contenant le montant appliqué pour chaque département, et la longueur (nombre total de départements) est 1 ou plus et 100 ou moins. --Exemple) Si d.length = 2, le nombre de départements est de 2. --Exemple) Si d [0] = 3, le montant de la demande pour le département 1 est 3.
d | budget | result |
---|---|---|
[1,3,2,5,4] | 9 | 3 |
[2,2,3,3] | 10 | 4 |
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
Arrays.sort(d); //Tri croissant
int cnt = 0; //Pour les comptoirs des départements qui peuvent prendre en charge
for (; cnt < d.length; cnt++) {
budget -= d[cnt]; //Chaque fois que nous soutenons, nous réduirons le budget
if (budget < 0) break;
}
return cnt;
}
}