কম্পিউটার

0 যোগ জাভাস্ক্রিপ্ট সহ মূল অ্যারেতে Subarray চেক করুন


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা কিছু ইতিবাচক এবং নেতিবাচক মান সহ সংখ্যার অ্যারে নেয়। মূল অ্যারেতে একটি সাব্যারে আছে কিনা তা নির্ধারণ করতে হবে যার নেট যোগফল 0 বা না।

আমাদের ফাংশন এই ভিত্তিতে একটি বুলিয়ান রিটার্ন করা উচিত।

পন্থা

এখানে পদ্ধতি সহজ. আমরা একটি ফর লুপ ব্যবহার করে অ্যারের উপর পুনরাবৃত্তি করি, সেই নির্দিষ্ট উপাদান পর্যন্ত ক্রমবর্ধমান পরিমাণ গণনা করি। এবং যদি কোনো বিন্দু ক্রমবর্ধমান 0 হয়ে যায় বা পূর্বে অর্জিত একটি মান অর্জন করে, তাহলে যোগফল 0 সহ একটি সাবয়ারে বিদ্যমান। অন্যথায় যোগফল 0 সহ নসুবারে বিদ্যমান।

অতএব, আসুন এই ফাংশনের জন্য কোড লিখি −

উদাহরণ

const arr = [4, 2, -1, 5, -2, -1, -2, -1, 4, -1, 5, -2, 3];
const zeroSum = arr => {
   const map = new Map();
   let sum = 0;
   for(let i = 0; i < arr.length; i++){
      sum += arr[i];
      if(sum === 0 || map.get(sum)){
         return true;
      };
      map.set(sum, i);
   };
   return false;
};
console.log(zeroSum(arr));

আউটপুট

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

true

  1. জাভাস্ক্রিপ্টে অ্যারে ছেদ করার জন্য সবচেয়ে সহজ কোড কি?

  2. জাভাস্ক্রিপ্টে Array.Reduce() পদ্ধতির ব্যবহার কী?

  3. জাভাস্ক্রিপ্টের সাথে একই অ্যারের একটি অ্যারের উপাদানগুলিকে কীভাবে নকল করবেন?

  4. ব্যবহারকারীর ইনপুট করা স্ট্রিং জাভাস্ক্রিপ্টের অ্যারেতে আছে কিনা তা পরীক্ষা করুন