Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Mua xe hơi trong Python

Cho danh sách giá xe prices và ngân sách k. Tìm số xe tối đa có thể mua.

Ví dụ: prices = [80, 20, 10, 30, 80], k = 85 → 3 (mua 3 xe giá 20, 10, 30? Wait: 20+10+30=60, still have 25, but next cheapest is 80. So 3 cars.)

Các bước giải quyết

  • Sắp xếp prices tăng dần
  • Duyệt giá từ nhỏ đến lớn:
    • Nếu price <= k: k -= price, count += 1
    • Ngược lại: dừng lại
  • Trả về count

Ví dụ mã Python

class Solution:
    def solve(self, prices, k):
        count = 0
        prices.sort()
        for i in range(len(prices)):
            if prices[i] <= 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