Java: Print all sub-arrays with 0 sum present in a given array of integers
Java Array: Exercise-55 with Solution
Write a Java program to print all sub-arrays with 0 sum present in a given array of integers.
Example:
Input :
nums1 = { 1, 3, -7, 3, 2, 3, 1, -3, -2, -2 }
nums2 = { 1, 2, -3, 4, 5, 6 }
nums3= { 1, 2, -2, 3, 4, 5, 6 }
Output:
Sub-arrays with 0 sum : [1, 3, -7, 3]
Sub-arrays with 0 sum : [3, -7, 3, 2, 3, 1, -3, -2]
Sub-arrays with 0 sum : [1, 2, -3]
Sub-arrays with 0 sum : [2, -2]
Sample Solution:
Java Code:
// Import necessary Java classes.
import java.util.*;
import java.lang.*;
// Define a class named 'solution'.
class solution
{
// A method to print all subarrays with a sum of zero.
public static void print_all_Subarrays(int[] A)
{
// Create a list to store elements of subarrays.
List<Integer> llist = new ArrayList<Integer>();
// Iterate through the array.
for (int i = 0; i < A.length; i++)
{
int sum = 0;
llist.removeAll(llist);
// Nested loop to find subarrays starting from index i.
for (int j = i; j < A.length; j++)
{
sum += A[j];
llist.add(A[j]);
// If the sum of the subarray is zero, print it.
if (sum == 0) {
System.out.println("Sub-arrays with 0 sum: " + llist.toString());
}
}
}
}
public static void main (String[] args)
{
// Define an array 'nums1'.
int[] nums1 = { 1, 3, -7, 3, 2, 3, 1, -3, -2, -2 };
System.out.println("\nOriginal array: " + Arrays.toString(nums1));
// Print all subarrays with a sum of zero for 'nums1'.
print_all_Subarrays(nums1);
// Define another array 'nums2'.
int[] nums2 = { 1, 2, -3, 4, 5, 6 };
System.out.println("\nOriginal array: " + Arrays.toString(nums2));
// Print all subarrays with a sum of zero for 'nums2'.
print_all_Subarrays(nums2);
// Define yet another array 'nums3'.
int[] nums3= { 1, 2, -2, 3, 4, 5, 6 };
System.out.println("\nOriginal array: " + Arrays.toString(nums3));
// Print all subarrays with a sum of zero for 'nums3'.
print_all_Subarrays(nums3);
}
}
Sample Output:
Original array: [1, 3, -7, 3, 2, 3, 1, -3, -2, -2] Sub-arrays with 0 sum : [1, 3, -7, 3] Sub-arrays with 0 sum : [3, -7, 3, 2, 3, 1, -3, -2] Original array: [1, 2, -3, 4, 5, 6] Sub-arrays with 0 sum : [1, 2, -3] Original array: [1, 2, -2, 3, 4, 5, 6] Sub-arrays with 0 sum : [2, -2]
Flowchart:
Java Code Editor:
Previous: Write a Java program to check if a given array contains a subarray with 0 sum.
Next: Write a Java program to sort a given binary array in linear times.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/java-exercises/array/java-array-exercise-55.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics