मान लीजिए आप एक पार्किंग सिस्टम डिजाइन करना चाहते हैं। एक पार्किंग लॉट में तीन अलग-अलग प्रकार की पार्किंग स्पेस होती हैं - बड़ी, मध्यम, और छोटी। और प्रत्येक आकार के लिए स्लॉट की एक निश्चित संख्या होती है। OurParkingSystem नामक एक क्लास बनाएं जिसमें दो मेथड हों:
- constructor(big, medium, small) - यह कंस्ट्रक्टर विभिन्न स्पेस के लिए उपलब्ध स्लॉट की संख्या लेता है और OurParkingSystem क्लास के ऑब्जेक्ट को इनिशियलाइज़ करता है।
- addCar(carType) - यह मेथड जांचता है कि दी गई carType के लिए पार्किंग स्पेस है या नहीं जो कार पार्किंग लॉट में अंदर जाना चाहती है।
तीन स्लॉट बड़ी, मध्यम, या छोटी, को 1, 2, और 3 द्वारा दर्शाया जाता है। बाधा यह है कि एक कार केवल तभी पार्क कर सकती है जब carType मैच हो। यदि कोई स्पेस उपलब्ध नहीं है, तो false वापस करें, अन्यथा उस आकार की स्पेस में कार पार्क करें और true वापस करें।
यदि बड़ी कार के लिए 2 स्पेस हैं, मध्यम कार के लिए कोई स्पेस नहीं है और छोटी कार के लिए 1 स्पेस है, तो कंस्ट्रक्टर कॉल होगी: OurParkingSystem(2, 0, 1), और यदि हम addCar को इस तरह कॉल करते हैं:
- addCar(3) - एक छोटी कार जोड़ें और true वापस करें
- addCar(2) - मध्यम कार जोड़ने के लिए कोई स्पेस नहीं, तो false वापस करें
- addCar(3) - नई छोटी कार जोड़ने के लिए कोई स्पेस नहीं, तो false वापस करें
- addCar(1) - एक बड़ी कार जोड़ें और true वापस करें
- addCar(1) - एक और बड़ी कार जोड़ें और true वापस करें
- addCar(1) - एक और बड़ी कार के लिए कोई स्पेस नहीं, तो false वापस करें
हल करने के चरण
- constructor() फंक्शन परिभाषित करें जो big, medium, small लेता है: sp := [0, big, medium, small] जैसी सूची
- addCar() फंक्शन परिभाषित करें जो carType लेता है:
- यदि sp[carType] > 0, तो: sp[carType] := sp[carType] - 1, true वापस करें
- false वापस करें
उदाहरण (Python)
class OurParkingSystem:
def __init__(self, big, medium, small):
self.sp = [0, big, medium, small]
def addCar(self, carType):
if self.sp[carType] > 0:
self.sp[carType] -= 1
return True
return False
ps = OurParkingSystem(2, 0, 1)
print(ps.addCar(3))
print(ps.addCar(2))
print(ps.addCar(3))
print(ps.addCar(1))
print(ps.addCar(1))
print(ps.addCar(1))
इनपुट
ps.addCar(3) ps.addCar(2) ps.addCar(3) ps.addCar(1) ps.addCar(1) ps.addCar(1)
आउटपुट
True False False True True False