class Solution {
public:
int maxNumberOfApples(vector<int>& weight) {
}
};
1196. 最多可以买到的苹果数量
你有一些苹果和一个可以承载 5000
单位重量的篮子。
给定一个整数数组 weight
,其中 weight[i]
是第 i
个苹果的重量,返回 你可以放入篮子的最大苹果数量 。
示例 1:
输入:weight = [100,200,150,1000] 输出:4 解释:所有 4 个苹果都可以装进去,因为它们的重量之和为 1450。
示例 2:
输入:weight = [900,950,800,1000,700,800] 输出:5 解释:6 个苹果的总重量超过了 5000,所以我们只能从中任选 5 个。
提示:
1 <= weight.length <= 103
1 <= weight[i] <= 103
原站题解
cpp 解法, 执行用时: 16 ms, 内存消耗: 14.9 MB, 提交时间: 2023-10-15 17:42:50
class Solution { public: int maxNumberOfApples(vector<int>& arr) { sort(arr.begin(), arr.end()); int sum = 0; int count = 0; for(int v : arr) { sum += v; if(sum > 5000){ break; } count++; } return count; } };
python3 解法, 执行用时: 44 ms, 内存消耗: 16.2 MB, 提交时间: 2023-10-15 17:42:39
class Solution: def maxNumberOfApples(self, arr: List[int]) -> int: sum = 0 count = 0 for i in sorted(arr): sum += i if sum > 5000: break count = count + 1 return count
golang 解法, 执行用时: 20 ms, 内存消耗: 4.9 MB, 提交时间: 2023-10-15 17:42:27
func maxNumberOfApples(arr []int) int { sort.Ints(arr) sum := 0 for i := 0; i < len(arr); i++ { sum += arr[i] if sum > 5000 { return i } } return len(arr) }
java 解法, 执行用时: 4 ms, 内存消耗: 41.9 MB, 提交时间: 2023-10-15 17:42:15
class Solution { public int maxNumberOfApples(int[] arr) { Arrays.sort(arr); int sum = 0; int count = 0; for(int i = 0;i < arr.length; i++) { sum += arr[i]; if(sum > 5000) { break; } count++; } return count; } }