สมมุติว่าเรามีรายการราคารถขายและเรายังมีงบประมาณ k เราต้องหาจำนวนรถสูงสุดที่เราซื้อได้
ดังนั้นหากอินพุตเป็น [80, 20, 10, 30, 80], k =85 ผลลัพธ์จะเป็น 3 เนื่องจากเราสามารถซื้อรถได้ 3 คันด้วยราคา 20, 10, 40
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
นับ :=0
-
เรียงราคาปลีก
-
สำหรับผมอยู่ในช่วง 0 ถึงขนาดของราคาทำ
-
ถ้าราคา[i] <=k แล้ว
-
k :=k-prices[i]
-
นับ :=นับ + 1
-
-
มิฉะนั้น
-
ออกจากวง
-
-
-
จำนวนคืน
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น −
ตัวอย่าง
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