সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ইন্টিজার অ্যারে arr প্রথম আর্গুমেন্ট ও একটি ইন্টিজার target دومা আর্গুমেন্ট হিসেবে নেবে। ফাংশনটি চেক করবে কি কমপক্ষে আকার ২-এর একটি ক্রমাগত সাবঅ্যারে আছে যেন তার উপাদানগুলোর যোগফল target-এর গুণফল (n*k) হতে পারে।
যদি থাকে তবে true রিটার্ন করবে, অন্যথায় false।
উদাহরণ:
const arr = [23, 2, 6, 4, 7]; const target = 6;
আউটপুট হবে:
const output = true;
আউটপুট ব্যাখ্যা:
কারণ [23, 2, 6, 4, 7] একটি আকার ৫-এর ক্রমাগত সাবঅ্যারে যেন যোগফল ৪২ (৬ এর গুণফল)।
উদাহরণ
কোডটি নিচের মতো (প্রিফিক্স সাম ও হ্যাশ ম্যাপ):
const arr = [23, 2, 6, 4, 7]; const target = 6; const checkSubarraySum = (arr = [], target = 1) => { let sum = 0 const hash = {} hash[0] = -1; for (let i = 0; i1) return true } else { hash[sum] = i } }; return false; }; console.log(checkSubarraySum(arr, target)); আউটপুট
কনসোলে আউটপুট:
true