मान लीजिए कि आपके पास कतार में खड़े लोगों की एक यादृच्छिक सूची है। प्रत्येक व्यक्ति को पूर्णांकों (h, k) की एक जोड़ी द्वारा वर्णित किया जाता है, जहाँ h व्यक्ति की ऊँचाई है और k इस व्यक्ति के सामने उन लोगों की संख्या है जिनकी ऊँचाई h से अधिक या उसके बराबर है।
कतार को फिर से बनाने के लिए हमें एक एल्गोरिथम लिखना होगा।
नोट - लोगों की संख्या 1,100 से कम है।
उदाहरण के लिए - यदि इनपुट कतार है -
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] - a[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 ] ]