ধরুন এমন একটি গাড়ি আছে যার ধারণক্ষমতা খালি আসন রয়েছে প্রাথমিকভাবে যাত্রীদের জন্য উপলব্ধ। গাড়িটি কেবল পূর্বদিকে চলে, তাই আমরা ঘুরে ফিরে পশ্চিমে গাড়ি চালাতে পারি না। আমরা ট্রিপের একটি তালিকা দিয়েছি, ট্রিপ[i] =[সংখ্যা_যাত্রী, স্টার্ট_লোকেশন, শেষ_লোকেশন], যেটিতে ith ট্রিপ সম্পর্কে তথ্য রয়েছে:যাতে যাত্রীদের নিতে হবে তাদের সংখ্যা এবং স্থানগুলি এবং তাদের ফেলে দিন। এখানে অবস্থানগুলি আমাদের গাড়ির প্রাথমিক অবস্থান থেকে পূর্ব দিকের কিলোমিটারের সংখ্যা হিসাবে দেওয়া হয়েছে। প্রদত্ত সমস্ত ভ্রমণের জন্য সমস্ত যাত্রীদের তোলা এবং নামানো সম্ভব হলেই আমাদের মডিউলটি সত্য হয়ে উঠবে। তাই যদি ট্রিপ হয় [[2,1,5],[3,3,7]] এবং ক্ষমতা 5 হয়, তাহলে আউটপুট সত্য হবে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- স্টপ নামে একটি অ্যারে তৈরি করুন, আকার 1000, এবং এটি 0 দিয়ে পূরণ করুন
- আমি ট্রিপে
- স্টপস[i[1]] :=স্টপস[i[1]] + i[0]
- স্টপস[i[2]] :=স্টপস[i[1]] – i[0]
- আমি স্টপে −
- ক্ষমতা :=ক্ষমতা – 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