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()
}