মান লিজিয়ে আপনার কাছে একটি র্যান্ডম লিস্ট আছে লোকজনের যারা কিউতে দাঁড়িয়ে আছে। প্রতিটি ব্যক্তিকে দুটি পূর্ণসংখ্যা (h, k) দিয়ে বর্ণনা করা হয়েছে, যেখানে h হল ব্যক্তির উচ্চতা এবং k হল এই ব্যক্তির সামনে কতজন লোক আছে যাদের উচ্চতা h-র চেয়ে বড় বা সমান।
আমাদের একটি অ্যালগরিদম লিখতে হবে কিউ পুনর্গঠন করতে।
নোট − লোকজনের সংখ্যা ১,১০০-এর কম।
উদাহরণস্বরূপ − ইনপুট কিউ যদি হয় −
const arr = [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]];
তবে আউটপুট কিউ হওয়া উচিত −
const output = [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]];
উদাহরণ
এটির জন্য কোড হবে −
const arr = [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]; const reconstructQueue = data => { const result = []; const sorter = (a, b) => { return b[0] - a[0] || a[1] - b[1]; }; data.sort(sorter); for (let i = 0; i < data.length; i++) { result.splice(data[i][1], 0, data[i]); }; return result; }; console.log(reconstructQueue(arr));আউটপুট
কনসোলে আউটপুট হবে −
[ [ 5, 0 ], [ 7, 0 ], [ 5, 2 ], [ 6, 1 ], [ 4, 4 ], [ 7, 1 ] ]