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