কম্পিউটার

জাভাস্ক্রিপ্টে পছন্দসই ফলাফল তৈরি করতে অপারেশন ব্যবহার করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ঠিক 4টি সংখ্যার অ্যারে নেয়, arr, প্রথম আর্গুমেন্ট হিসাবে এবং একটি টার্গেট দ্বিতীয় আর্গুমেন্ট হিসাবে।

লক্ষ্যের সমান মান পেতে অ্যারে অ্যারের সংখ্যাগুলি *, /, +, -, (, ) এর মাধ্যমে পরিচালিত হতে পারে কিনা তা আমাদের ফাংশনকে বিচার করতে হবে।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়

ইনপুট

const arr = [5, 3, 2, 1];
const target = 4;

আউটপুট

const output = true;

আউটপুট ব্যাখ্যা

কারণ আমরা এভাবে −

4 অর্জন করতে পারি
(5 - 1) * (3 - 2) = 4

উদাহরণ

নিম্নলিখিত কোড -

const arr = [5, 3, 2, 1];
const target = 4;
const canOperate = (arr = [], target = 1) => {
   const isValid = x => Math.abs(x - target) < 0.0000001
   const helper = (arr = []) => {
      if (arr.length === 1) {
         return isValid(arr[0])
      }
      let valid = false
      for (let i = 0; i < arr.length; i++) {
         for (let j = i + 1; j < arr.length; j++) {
            const nextArr = arr.filter((x, index) => index !== i && index !== j)
            valid = valid || helper([...nextArr, arr[i] + arr[j]])
            || helper([...nextArr, arr[i] - arr[j]])
            || helper([...nextArr, arr[j] - arr[i]])
            || helper([...nextArr, arr[i] * arr[j]])
            || helper([...nextArr, arr[i] / arr[j]])
            || helper([...nextArr, arr[j] / arr[i]])
         }
      }
      return valid
   }
   return helper(arr)
}
console.log(canOperate(arr, target));

আউটপুট

true

  1. জাভাস্ক্রিপ্ট ব্যবহার করে একটি বাইনারি ট্রি তৈরি করা

  2. ফায়ারবাগ ব্যবহার করে জাভাস্ক্রিপ্ট ডিবাগ করা

  3. জাভাস্ক্রিপ্ট আমদানিতে '{ }' ব্যবহার করছেন?

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি অ্যারেতে পর্বতের সর্বোচ্চ দৈর্ঘ্য