আমাদের এমন একটি ফাংশন লিখতে হবে যা অ্যারেতে কমপক্ষে দুবার উপস্থিত হওয়া প্রথম উপাদানটির সূচী প্রদান করে। যদি কোনো উপাদান একাধিকবার প্রদর্শিত না হয়, তাহলে আমাদের -1 ফিরে আসতে হবে। শর্ত হল যে আমাদের এটি ধ্রুবক স্থানে (অর্থাৎ, অতিরিক্ত মেমরি ব্যবহার না করে) করতে হবে।
আসুন এই সমস্যার সমাধান বের করি। আমরা অ্যারের উপর পুনরাবৃত্তি করার জন্য একটি লুপ ব্যবহার করব এবং সদৃশগুলি পরীক্ষা করতে Array.prototype.lastIndexOf() পদ্ধতি ব্যবহার করব৷
উদাহরণ
const firstDuplicate = arr => { for(let i = 0; i < arr.length; i++){ if(arr.lastIndexOf(arr[i]) !== i){ return i; }; }; return -1; } console.log(firstDuplicate([3, 5, 6, 8, 5, 3])); // 0 console.log(firstDuplicate([0, 1, 2, 3, 4, 4, 5])); // 4 console.log(firstDuplicate([0, 1, 1, 2, 3, 4, 4, 5])); // 1 console.log(firstDuplicate([0, 1, 2, 3, 4, 9, 5])); // -1
আউটপুট
কনসোলে আউটপুট হবে −
0 4 1 -1