Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การรวมรถใน Python


สมมติว่ามีรถยนต์ที่มีที่นั่งว่างในขั้นต้นสำหรับผู้โดยสาร รถขับไปทางทิศตะวันออกเท่านั้น เราจึงไม่สามารถหันหลังกลับและขับไปทางทิศตะวันตกได้ เราได้ให้รายชื่อการเดินทาง trip[i] =[num_passengers, start_location, end_location] ซึ่งมีข้อมูลเกี่ยวกับการเดินทาง ith:จำนวนผู้โดยสารที่ต้องรับ และสถานที่รับ และส่งพวกเขาออกไป ในที่นี้ระบุตำแหน่งตามจำนวนกิโลเมตรที่ไปทางตะวันออกจากตำแหน่งเริ่มต้นของรถของเรา โมดูลของเราจะคืนค่าเป็น จริง หากสามารถรับและส่งผู้โดยสารทั้งหมดสำหรับการเดินทางที่กำหนดทั้งหมดได้ ดังนั้นหากทริปเป็นเหมือน [[2,1,5],[3,3,7]] และความจุเท่ากับ 5 ผลลัพธ์จะเป็นจริง

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สร้างอาร์เรย์หนึ่งตัวที่เรียกว่าหยุด ขนาด 1000 และเติมค่านี้ด้วย 0
  • สำหรับฉันในการเดินทาง
    • หยุด[i[1]] :=หยุด[i[1]] + i[0]
    • หยุด[i[2]] :=หยุด[i[1]] – i[0]
  • สำหรับ i ในหยุด −
    • ความจุ :=ความจุ – i
    • ถ้าความจุ <0 ให้คืนค่าเท็จ
  • คืนค่า จริง เมื่อความจุ>=0

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

class Solution(object):
   def carPooling(self, trips, capacity):
      stops = [0 for i in range(1001)]
      for i in trips:
         stops[i[1]]+=i[0]
         stops[i[2]]-=i[0]
      for i in stops:
         capacity-=i
         if capacity<0:
            return False
      return capacity>=0
ob = Solution()
print(ob.carPooling([[2,1,5],[3,3,7]],5))

อินพุต

[[2,1,5],[3,3,7]]
5

ผลลัพธ์

True