English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Find a continuous subarray whose sum equals the given number-
Traverse the array.
On each element, add n elements one by one, and print the subarray when the sum equals the required value.
import java.util.Arrays; import java.util.Scanner; public class sub_arrays { public static void main(String args[]){ //从用户读取数组 Scanner sc = new Scanner(System.in); System.out.println("Enter the size of the array that is to be created: "); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("Enter the elements of the array: "); for (int i = 0; i < size; i++{ myArray[i] = sc.nextInt(); } //Reading the number System.out.println("Enter the required sum: "); int reqSum = sc.nextInt(); System.out.println("The array created is: "+Arrays.toString(myArray)); System.out.println("sub arrays whose sum is: "+reqSum); for (int i = 0; i < myArray.length; i++{ int sum = 0; for (int j = i; j < myArray.length; j++{ sum = sum + myArray[j]; if(sum == reqSum){ System.out.println(Arrays.toString(Arrays.copyOfRange(myArray, i, j));+1); } } } } }
Output Result
Enter the size of the array that is to be created: 10 Enter the elements of the array: 5 4 1 2 3 4 1 4 5 5 Enter the required sum: 10 The array created is: [5, 4, 1, 2, 3, 4, 1, 4, 5, 5] sub arrays whose sum is: 10 [5, 4, 1] [4, 1, 2, 3] [1, 2, 3, 4] [2, 3, 4, 1] [1, 4, 5] [5, 5]