मान लीजिए कि कोई वाहन है जिसमें खाली सीटों की क्षमता है, जो शुरू में यात्रियों के लिए उपलब्ध है। वाहन केवल पूर्व की ओर चलता है, इसलिए हम पश्चिम की ओर मुड़कर नहीं चल सकते। हमने यात्राओं की एक सूची दी है, यात्रा [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]
- आई स्टॉप में −
- . के लिए
- क्षमता:=क्षमता - मैं
- यदि क्षमता <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