Skip to content

Latest commit

 

History

History
116 lines (92 loc) · 2.43 KB

File metadata and controls

116 lines (92 loc) · 2.43 KB

中文文档

Description

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

Solutions

Python3

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

Java

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;
    }
}

C++

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;
    }
};

Go

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
}

...