Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,919 questions

51,852 answers

573 users

How to find the maximum length of a subarray having a sum equal to K in Node.js

1 Answer

0 votes
function maxSubArrayLenEqualsToK(arr, k) {
    let current = 0;
    let len = 0;
    let hmap = new Map();
    const size = arr.length;
     
    for (let i = 0; i < size; i++) {
        current += arr[i];
        if (current == k) {
            len = i + 1;
        }
        else if (hmap.has(current - k)) {
            len = Math.max(len, i - hmap.get(current - k));
        }
        if (!hmap.has(current)) {
            hmap.set(current, i);
        }
    }
     
    return len;
}
 
 
const arr = [1, -1, 5, -2, -3, 2, 3, 3];
let K = 3;
 
// 1, -1, 5, -2 = 3 (4)
// 5, -2 = 3 (2)
// -2, -3, 2, 3, 3 = 3 (5)
         
console.log(maxSubArrayLenEqualsToK(arr, K));
 
 
 
 
/*
run:
 
5
 
*/

 



answered Feb 24, 2024 by avibootz
...