You have some apples and a basket that can carry up to 5000
units of weight.
Given an integer array weight
where weight[i]
is the weight of the ith
apple, return the maximum number of apples you can put in the basket.
Example 1:
Input: weight = [100,200,150,1000] Output: 4 Explanation: All 4 apples can be carried by the basket since their sum of weights is 1450.
Example 2:
Input: weight = [900,950,800,1000,700,800] Output: 5 Explanation: The sum of weights of the 6 apples exceeds 5000 so we choose any 5 of them.
Constraints:
1 <= weight.length <= 103
1 <= weight[i] <= 103
class Solution:
def maxNumberOfApples(self, weight: List[int]) -> int:
weight.sort()
ans = 0
t = 0
for v in weight:
if t + v > 5000:
break
t += v
ans += 1
return ans
class Solution {
public int maxNumberOfApples(int[] weight) {
Arrays.sort(weight);
int ans = 0, t = 0;
for (int v : weight) {
if (t + v > 5000) {
break;
}
t += v;
++ans;
}
return ans;
}
}
class Solution {
public:
int maxNumberOfApples(vector<int>& weight) {
sort(weight.begin(), weight.end());
int ans = 0, t = 0;
for (int v : weight) {
if (t + v > 5000) break;
t += v;
++ans;
}
return ans;
}
};
func maxNumberOfApples(weight []int) int {
sort.Ints(weight)
ans, t := 0, 0
for _, v := range weight {
if t+v > 5000 {
break
}
t += v
ans++
}
return ans
}