## Description

https://leetcode.com/problems/how-many-apples-can-you-put-into-the-basket/

You have some apples, where `arr[i]`

is the weight of the `i`

-th apple. You also have a basket that can carry up to `5000`

units of weight.

Return the maximum number of apples you can put in the basket.

**Example 1:**

Input:arr = [100,200,150,1000]Output:4Explanation:All 4 apples can be carried by the basket since their sum of weights is 1450.

**Example 2:**

Input:arr = [900,950,800,1000,700,800]Output:5Explanation:The sum of weights of the 6 apples exceeds 5000 so we choose any 5 of them.

**Constraints:**

`1 <= arr.length <= 10^3`

`1 <= arr[i] <= 10^3`

## Explanation

Sort apple weights in ascending order then check at where the weight sum is higher than the threshold.

## Python Solution

```
class Solution:
def maxNumberOfApples(self, arr: List[int]) -> int:
arr = sorted(arr)
maximum = 0
sum_weight = 0
for i, apple in enumerate(arr):
sum_weight += apple
if sum_weight > 5000:
break
maximum = i + 1
return maximum
```

- Time Complexity: O(Nlog(N)).
- Space Complexity: O(1).