সমস্যা
জাভাস্ক্রিপ্ট ফাংশন যা একটি ইন্টিজার অ্যারে (arr) নেবে। ফাংশনটি একটি ইন্ডেক্স জোড়া (i, j) বেছে নেবে যেন (arr[i] + arr[j]) + (i - j) সব জোড়ার মাঝে সর্বোচ্চ হয়। ফাংশনটি সেই সর্বোচ্চ মানটি রিটার্ন করবে।
উদাহরণস্বরূপ, ইনপুট যদি হয় –
const arr = [8, 1, 5, 2, 6];
তবে আউটপুট হবে –
const output = 11;
আউটপুট ব্যাখ্যা
কারণ যদি i = 0 এবং j = 2 বেছে নেওয়া হয়, তবে মান হবে –
(8 + 5) + (0 - 2) = 11
যে যেকোনো ইন্ডেক্স জোড়ার জন্য সর্বোচ্চ।
উদাহরণ
কোডটি নিচের মতো –
const arr = [8, 1, 5, 2, 6]; const findMaximum = (arr = []) => { let max = arr[0] + 0; let res = -Infinity; for(let i = 1; i < arr.length; i++){ res = Math.max(res, max + arr[i] - i); max = Math.max(arr[i] + i, max); }; return res; }; console.log(findMaximum(arr));আউটপুট
কনসোলে আউটপুট হবে –
11