আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি অ্যারে গ্রহণ করে। ফাংশনটি অ্যারেতে থেকে তৃতীয় সর্বোচ্চ সংখ্যা বের করে রিটার্ন করবে।
আমাদের ফাংশনের টাইম কমপ্লেক্সিটি O(n)-এর বেশি নয়, অর্থাৎ একক ইটারেশনে সংখ্যাটি খুঁজে বের করতে হবে।
উদাহরণ
const arr = [1, 5, 23, 3, 676, 4, 35, 4, 2];
const findThirdMax = (arr) => {
let [first, second, third] = [-Infinity, -Infinity, -Infinity];
for (let el of arr) {
if (el === first || el === second || el === third) {
continue;
};
if (el > first) {
[first, second, third] = [el, first, second]; continue;
};
if (el > second) {
[second, third] = [el, second]; continue;
};
if (el > third) {
third = el; continue;
};
};
return third !== -Infinity ? third : first;
};
console.log(findThirdMax(arr));
আউটপুট
কনসোলে আউটপুট হবে:
23