কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে স্ট্রিক্টলি ইনক্রিজিং সিকোয়েন্স চেক করা


ইন্টিজারের একটি সিকোয়েন্স অ্যারে হিসেবে দেওয়া আছে, আমাদের নির্ধারণ করতে হবে যে কি এটি সম্ভব স্ট্রিক্টলি ইনক্রিজিং সিকোয়েন্স বানাতে অ্যারেতে থেকে শুধু একটি এলিমেন্ট মুছে ফেলে।

উদাহরণস্বরূপ -

sequence = [1, 3, 2, 1] এর জন্য আউটপুট হবে false। এই অ্যারেতে এমন কোনো একটি এলিমেন্ট নেই যেটি মুছে ফেললে স্ট্রিক্টলি ইনক্রিজিং সিকোয়েন্স পাওয়া যাবে।

sequence = [1, 3, 2] এর জন্য আউটপুট হবে true। আপনি ৩ কে মুছে ফেলে [1, 2] স্ট্রিক্টলি ইনক্রিজিং সিকোয়েন্স পেতে পারেন। অথবা ২ কে মুছে ফেলে [1, 3] পেতে পারেন।

স্ট্রিক্টলি ইনক্রিজিং সিকোয়েন্স

এটি একটি গাণিতিক টার্ম যা নাম্বারদের এমন বিন্যাসকে বোঝায় যেখানে প্রতিটি পরবর্তী নাম্বার তার পূর্ববর্তী নাম্বার থেকে বড় হয়। এর বাইরে আছে ইনক্রিজিং সিকোয়েন্স যেখানে পরবর্তী এলিমেন্ট পূর্ববর্তী এলিমেন্ট থেকে বড় বা সমান হয়।

একই লজিক ডিক্রিজিং সিকোয়েন্স এবং স্ট্রিক্টলি ডিক্রিজিং সিকোয়েন্সের জন্যও প্রযোজ্য।

অ্যাপ্রোচ

আমরা অ্যারেতে লুপ চালিয়ে চেক করব যে কি পরবর্তী এলিমেন্ট পূর্ববর্তী এলিমেন্ট থেকে বড় কিনা। যদি বড় হয়, তবে আমাদের কাছে ঠিক আছে, কিন্তু যদি বড় না হয় (মনে রাখবেন সেটি বড় হতে হবে, বড় বা সমান নয় কারণ আমরা স্ট্রিক্টলি ইনক্রিজিং সিকোয়েন্স চাই।) তবে আমরা unwantedElements এর কাউন্ট রাখব এবং প্রতিবার এরা ১ করে বাড়াব।

যদি ইটারেশনের দরম्यान কাউন্ট ১ এর চেয়ে বড় হয়, তবে আমরা false রিটার্ন করব, অন্যথায় যদি পুরো লুপ unwantedElements <= 1 দিয়ে পাস করে, তবে true রিটার্ন করব।

তাহলে এই ফাংশনের কোড লিখি -

উদাহরণ

const isStrictlyIncreasing = (arr) => {    let unwantedElements = 0;    for(let i = 0; i < arr.length - 1; i++){       if(arr[i] >= arr[i+1]){          unwantedElements++;          if(unwantedElements > 1){             return false;          };       };    };    return true; }; console.log(isStrictlyIncreasing([1, 3, 2, 1])); console.log(isStrictlyIncreasing([1, 3, 2]));

আউটপুট

কনসোলে আউটপুট হবে -

false true

  1. জাভাস্ক্রিপ্টে অ্যারে থেকে কমপক্ষে এলিমেন্ট সরিয়ে ক্রমবর্ধমান সিকোয়েন্স বানানো

  2. জাভাস্ক্রিপ্টে সিকোয়েন্সের মান নির্ণয় (seq(n, p))

  3. জাভাস্ক্রিপ্টে দুটি সিকোয়েন্স স্ট্রিক্টলি ইনক্রিজিং করা

  4. জাভাস্ক্রিপ্টে অ্যারে একদম কমপক্ষে একটি এলিমেন্ট বদলে ক্রমবর্ধমান করা যায় কিনা