मान लीजिए कि हमें शाब्दिकों की एक क्रमबद्ध सरणी दी गई है। हमें एक ऐसा फंक्शन लिखना है जो एरे से सभी डुप्लीकेट्स को इन-प्लेस से हटा देता है जैसे कि प्रत्येक एलिमेंट केवल एक बार दिखाई देता है और एरे की नई लंबाई लौटाता है।
ऐसा करने की शर्त यह है कि हम किसी अन्य सरणी के लिए अतिरिक्त स्थान आवंटित नहीं कर सकते हैं, हमें इसे O(1) अतिरिक्त मेमोरी के साथ इनपुट ऐरे को इन-प्लेस संशोधित करके करना चाहिए।
उदाहरण
इसके लिए कोड होगा -
const arr = [1, 3, 3, 6, 7, 7, 9, 11, 13]; const removeDuplicates = (arr = []) => { let i=0; while(i < arr.length − 1){ let j = i + 1; if(arr[i] === arr[j]){ arr.splice(j,1); }else{ i++; } }; }; removeDuplicates(arr); console.log(arr);
आउटपुट
और कंसोल में आउटपुट होगा -
[ 1, 3, 6, 7, 9, 11, 13 ]