ধরুন আমাদের n ফ্লাইট আছে এবং সেগুলিকে 1 থেকে n পর্যন্ত লেবেল করা হয়েছে। আমাদের ফ্লাইট বুকিংয়ের একটি তালিকা আছে। i-th বুকিং ইঙ্গিত করে বুকিং ব্যবহার করে[i] =[i, j, k] এর মানে হল যে আমরা i থেকে j লেবেলযুক্ত ফ্লাইটগুলি থেকে k আসন বুক করেছি। তাদের লেবেলের ক্রমানুসারে প্রতিটি ফ্লাইটে বুক করা আসনের সংখ্যা দেখিয়ে দৈর্ঘ্য n এর একটি অ্যারে উত্তর খুঁজুন। সুতরাং ইনপুট যদি [[1,2,10],[2,3,20],[2,5,25]] এবং n =5 এর মত হয়, তাহলে আউটপুট হবে [10, 55, 45, 25, 25]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- res :=n আকারের একটি অ্যারে তৈরি করুন এবং এটি 0 দিয়ে পূরণ করুন
- প্রতিটি এন্ট্রির জন্য i বুকিংয়ে
- res[i[0] - 1] :=res[i[0] - 1] + i[2]
- যদি i[1]
- আমি 1 থেকে n – 1
- পরিসরে
- res[i] :=res[i] + res[i - 1]
- রিটার্ন রিটার্ন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
<প্রি>ক্লাস সলিউশন(অবজেক্ট):def corpFlightBookings(self, bookings, n):res =[0 এর জন্য i in range(n)] এর জন্য i in বুকিং:res[i[0]-1]+=i[2 ] if(i[1]ইনপুট
[[1,2,10],[2,3,20],[2,5,25]]5
আউটপুট
[10, 55, 45, 25, 25]