समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो पहली आर्ग्युमेंट के रूप में पूर्णांकों की एक सरणी arr और दूसरी आर्ग्युमेंट के रूप में एक पूर्णांक target लेता है। हमारे फ़ंक्शन को जांचना चाहिए कि क्या कम से कम आकार 2 का एक सतत सबएरे मौजूद है जो k के गुणक तक योग करता है, यानी n*k तक योग करता है जहां n कोई भी पूर्णांक हो सकता है।
यदि यह मौजूद है तो हम true वापस करते हैं, अन्यथा false।
उदाहरण
यदि फ़ंक्शन का इनपुट है:
const arr = [23, 2, 6, 4, 7]; const target = 6;
तो आउटपुट होना चाहिए:
const output = true;
आउटपुट व्याख्या:
क्योंकि [23, 2, 6, 4, 7] आकार 5 का एक सतत सबएरे है और 42 तक योग करता है।
कोड
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; i<arr.length; i++) { sum += arr[i] if (target!=0) sum %= target if ( hash[sum] !== undefined ) { if(i-hash[sum]>1) return true } else { hash[sum] = i } }; return false; }; console.log(checkSubarraySum(arr, target));आउटपुट
कंसोल में आउटपुट होगा:
true