समस्या विवरण
कारों की कीमतों की सूची prices और बजट k दिया गया है। अधिकतम कितनी कारें खरीदी जा सकती हैं?
उदाहरण
इनपुट: prices = [80, 20, 10, 30, 80], k = 85
आउटपुट: 3 (कीमतें 10, 20, 30 → कुल 60 ≤ 85)
एल्गोरिदम (लालची)
pricesको सॉर्ट करेंcount = 0- सबसे सस्ती से महंगी की ओर:
- यदि
price <= k: खरीदें,k -= price,count++ - अन्यथा: ब्रेक करें
- यदि
countवापस करें
पायथन कार्यान्वयन
class Solution:
def solve(self, prices, k):
count = 0
prices.sort()
for price in prices:
if price <= k:
k -= price
count += 1
else:
break
return count
ob = Solution()
p = [80, 20, 10, 30, 80]
print(ob.solve(p, 85))
इनपुट
[80, 20, 10, 30, 80], 85
आउटपुट
3