সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি অ্যারে নেয়, অ্যার, যা সম্ভবত প্রথম আর্গুমেন্ট হিসাবে ডুপ্লিকেট এবং দ্বিতীয় আর্গুমেন্ট হিসাবে অ্যারেতে বিদ্যমান একটি পূর্ণসংখ্যা ধারণ করে৷
ফাংশনটি এমন একটি সূচী প্রদান করবে যেখানে সংখ্যাটি অ্যারেতে বিদ্যমান থাকবে এবং যেহেতু সংখ্যাটি অ্যারেতে একাধিকবার বিদ্যমান থাকতে পারে, তাই আমাদের এলোমেলোভাবে একটি সূচক বাছাই করতে হবে এবং সেই সূচকটি ফেরত দিতে হবে৷
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = [5, 3, 6, 7, 3, 4, 2, 3]; const num = 3;
তারপর আউটপুট −
হওয়া উচিতconst output = 4;
আউটপুট ব্যাখ্যা:
অ্যারের মধ্যে সূচী 1, 4 এবং 7-এ 3 নম্বরটি বিদ্যমান, এবং যেহেতু আমাদেরকে এলোমেলোভাবে যেকোনো সূচক বাছাই করতে হবে, তাই আউটপুট 1-এর যেকোনো একটি হতে পারে।
উদাহরণ
এর জন্য কোড হবে −
const arr = [5, 3, 6, 7, 3, 4, 2, 3]; const num = 3; Array.prototype.pick = function(target) { const targets = [] this.findTarget(0, this.length, target, targets); return targets[Math.floor(Math.random() * targets.length)]; }; Array.prototype.findTarget = function(start, end, target, targets) { if(start + 1 === end || start === end) { if(this[start] === target) targets.push(start); return; } let j = start + Math.floor((end - start)/2); this.findTarget(start, j, target, targets); this.findTarget(j, end, target, targets); }; console.log(arr.pick(num));
আউটপুট
কনসোলে আউটপুট হবে −
4