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

জাভাস্ক্রিপ্টে অপারেশন ব্যবহার করে টার্গেট ফলাফল পাওয়া


সমস্যা

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

ফাংশনটি নির্ণয় করবে অ্যারে arr-এর সংখ্যাগুলো কি *, /, +, -, (, ) অপারেশন দিয়ে টার্গেটের সমান মান পাওয়া যায়।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

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

আউটপুট

const output = true;

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

কারণ আমরা ৪ পেতে পারি এভাবে –

(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. Firebug ব্যবহার করে জাভাস্ক্রিপ্ট ডিবাগিং

  3. জাভাস্ক্রিপ্ট ইমপোর্টে {} ব্রেসের ব্যবহার

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