मान लीजिए हमारे पास बिक्री के लिए गाड़ियों की कीमतों की एक सूची है, और हमारे पास एक बजट k भी है। हमें अधिकतम कितनी गाड़ियां खरीदी जा सकती हैं, यह ढूंढना है।
यदि इनपुट [80, 20, 10, 30, 80], k = 85 जैसा है, तो आउटपुट 3 होगा क्योंकि हम 20, 10, 40 कीमत वाली तीन गाड़ियां खरीद सकते हैं।
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- count := 0
- कीमतों की सूची को सॉर्ट करें
- i को 0 से कीमतों के आकार तक के लिए, करें:
- यदि prices[i] <= k, तो
- k := k - prices[i]
- count := count + 1
- अन्यथा, लूप से बाहर निकलें
- यदि prices[i] <= k, तो
- count लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
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))
इनपुट
[80, 20, 10, 30, 80], 85
आउटपुट
3