English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Encontrar subarrays contiguos cuyas sumas sean iguales al número dado-
Recorrer el array.
En cada elemento, añade uno por uno n elementos, cuando la suma sea igual al valor requerido, imprime el subarray.
import java.util.Arrays; import java.util.Scanner; public class sub_arrays { public static void main(String args[]){ //Leyendo el array desde el usuario Scanner sc = new Scanner(System.in); System.out.println("Ingrese el tamaño del array que se va a crear: "); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("Ingrese los elementos del array: "); for(int i=0; i<size; i++{ myArray[i] = sc.nextInt(); } //Leyendo el número System.out.println("Ingrese la suma requerida: "); int reqSum = sc.nextInt(); System.out.println("El array creado es: "+Arrays.toString(myArray)); System.out.println("subarrays cuyos sum es: "+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); } } } } }
Resultado de salida
Ingrese el tamaño del array que se va a crear: 10 Ingrese los elementos del array: 5 4 1 2 3 4 1 4 5 5 Ingrese la suma requerida: 10 El array creado es: [5, 4, 1, 2, 3, 4, 1, 4, 5, 5] subarrays cuyos sum es: 10 [5, 4, 1] [4, 1, 2, 3] [1, 2, 3, 4] [2, 3, 4, 1] [1, 4, 5] [5, 5]