সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে পূর্ণসংখ্যা, arr-এর একটি অ্যারে নেয়৷
ধরুন দুটি সূচক, i এবং j অ্যারের মধ্যে যা নিম্নলিখিত শর্তগুলি পূরণ করে -
-
i
-
arr[i] <=arr[j]
এই ধরনের সমস্ত সূচক টিপলের মধ্যে (i, j), আমাদের ফাংশনটি j - i পার্থক্যটি ফেরত দেবে, যেখানে এটি সর্বাধিক।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = [6, 0, 8, 2, 1, 5];
তারপর আউটপুট −
হওয়া উচিতconst output = 4;
আউটপুট ব্যাখ্যা
সর্বাধিক পার্থক্য (i, j) =(1, 5):arr[1] =0 এবং arr[5] =5 এ অর্জিত হয়।
উদাহরণ
এর জন্য কোড হবে −
const arr = [6, 0, 8, 2, 1, 5]; const maximumDifference = (arr = []) => { let max = 0 const stack = [0] for (let i = 1; i < arr.length; i++) { if (arr[i] < arr[stack[stack.length - 1]]) { stack.push(i) } } for (let i = arr.length - 1; i >= 0; i--) { while (arr[i] >= arr[stack[stack.length - 1]]) { max = Math.max(max, i - stack.pop()) } } return max; }; console.log(maximumDifference(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
4