ক্রমবর্ধমান সিকোয়েন্স
একটি অ্যারেকে ক্রমবর্ধমান বলা হয় যদি arr[i] <= arr[i + 1] সকল i (০-ভিত্তিক) এর জন্য সত্য হয়, যেখানে 0 <= i <= n - 2।
সমস্যা
একটি ইন্টিজার অ্যারে arr দেওয়া আছে। এই অ্যারেকে সর্বোচ্চ একটি এলিমেন্ট পরিবর্তন করে ক্রমবর্ধমান করা সম্ভব কিনা তা নির্ধারণ করতে হবে। সম্ভব হলে true, অন্যথায় false রিটার্ন করবে।
উদাহরণ:
ইনপুট
const arr = [8, 3, 3, 7, 9];
আউটপুট
const output = true;
ব্যাখ্যা
কারণ আমরা ০ নম্বর ইনডেক্সের ৮ কে ১ বা ২ দিয়ে রিপ্লেস করে ক্রমবর্ধমান অ্যারে পেতে পারি।
উদাহরণ কোড
const arr = [8, 3, 3, 7, 9]; const canConvert = (arr = []) => { const find = () => { for (let i = 1; i < arr.length; i++) { if (arr[i] < arr[i - 1]) { return false; } } return true; } for (let i = 0; i < arr.length; i++) { if (arr[i] < arr[i - 1]) { const temp = arr[i]; arr[i] = arr[i - 1]; if (find(arr)) { return true; } arr[i] = temp; arr[i - 1] = arr[i]; return find(arr); } } return true; }; console.log(canConvert(arr));আউটপুট
true