Giả sử chúng ta có một danh sách giá xe ô tô đang bán và chúng ta cũng có ngân sách k, chúng ta phải tìm số lượng xe ô tô tối đa mà chúng ta có thể mua.
Vì vậy, nếu đầu vào là [80, 20, 10, 30, 80], k =85, thì đầu ra sẽ là 3 vì chúng ta có thể mua ba chiếc ô tô với giá 20, 10, 40
Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau -
-
đếm:=0
-
sắp xếp giá niêm yết
-
đối với tôi trong phạm vi từ 0 đến kích thước của giá cả, hãy làm
-
nếu giá [i] <=k, thì
-
k:=k-giá [i]
-
count:=count + 1
-
-
nếu không,
-
đi ra từ vòng lặp
-
-
-
số lần trả lại
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Solution: def solve(self, prices, k): count =0 prices.sort() for i in range(len(prices)): if(prices[i]<=k): k = k-prices[i] count += 1 else: break return count ob = Solution() p = [80, 20, 10, 30, 80] print(ob.solve(p, 85))
Đầu vào
[80, 20, 10, 30, 80], 85
Đầu ra
3