รับการรวมกันที่มีประสิทธิภาพมากที่สุดของรายการวัตถุขนาดใหญ่ตามเขตข้อมูล
ฉันต้องการเพิ่มจำนวนดาวตามงบประมาณและขีด จำกัด สูงสุดของชุดค่าผสม ตัวอย่างคำถาม: ด้วยงบประมาณ 500 ยูโรเยี่ยมชมร้านอาหารที่อนุญาตสูงสุดหรือน้อยกว่ารับประทานอาหารและเก็บดาวให้ได้มากที่สุด ฉันกำลังมองหาที่จะเขียนอัลกอริทึมที่มีประสิทธิภาพซึ่งสามารถประมวลผลอินสแตนซ์ร้านอาหาร 1 ล้านร้านได้สูงสุด 10 ร้านอาหาร หมายเหตุนี่เป็นคำถามข้ามที่ฉันถามเมื่อวานนี้: Java: รับชุดค่าผสมที่มีประสิทธิภาพมากที่สุดของรายการวัตถุขนาดใหญ่ตามเขตข้อมูล วิธีแก้ปัญหาด้านล่างจะกำหนด 15 $ ต่อดาวให้กับr8ร้านอาหารซึ่งหมายความว่าเมื่อสร้างรายชื่อมันจะใส่เข้าไปในรายการก่อนและส่วนที่เหลือ 70 $ จะได้รับเพียง 2 ดาวเท่านั้นที่ให้รวม 4 ดาว อย่างไรก็ตามถ้ามันฉลาดพอที่จะข้ามr8ร้านอาหาร (แม้ว่าจะเป็นอัตราส่วนที่ดีที่สุดต่อหนึ่งดาว) r1ร้านอาหารจะเป็นตัวเลือกที่ดีกว่าสำหรับงบประมาณเพราะมันมีราคา 100 ดอลลาร์และ 5 ดาว ทุกคนสามารถช่วยลองแก้ปัญหาและเอาชนะวิธีแก้ปัญหาปัจจุบันได้หรือไม่ import itertools class Restaurant(): def __init__(self, cost, stars): self.cost = cost self.stars = stars self.ratio = …