Find Sub Array With Zero Sum

package org.wesome.dsalgo;

import java.util.HashSet;
import java.util.Set;

public class SubArrayWithZeroSum {
    public static Boolean subArrayWithZeroSum(int[] arr) {
        Set<Integer> set = new HashSet<>();
        set.add(0);
        int sum = 0;
        for (int value : arr) {
            sum = sum + value;
            if (set.contains(sum)) {
                return true;
            }
            set.add(sum);
        }
        return false;
    }
}
package org.wesome.dsalgo;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import static org.wesome.dsalgo.SubArrayWithZeroSum.subArrayWithZeroSum;


class SubArrayWithZeroSumTest {
    @Test
    void subArrayWithZeroSumTest1() {
        int[] arr = {4, -6, 3, -1, 4, 2, 7};
        Assertions.assertTrue(subArrayWithZeroSum(arr));
    }

    @Test
    void subArrayWithZeroSumTest2() {
        int[] arr = {-3, -2, -1, 2, 3};
        Assertions.assertFalse(subArrayWithZeroSum(arr));
    }
}
plugins {
    id 'java'
    id "io.freefair.lombok" version "6.2.0"
}

group = 'org.wesome'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = JavaVersion.VERSION_1_8

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter:5.6.2'
}

test {
    useJUnitPlatform()
}

 

follow us on