如何在 Java 中查找和给定数字相等的连续子数组?
查找和给定数字相等的连续子数组:
- 遍历该数组。
- 逐个添加每个元素后面的 n 个元素,当总和等于所需值时,打印子数组。
示例
import java.util.Arrays; import java.util.Scanner; public class sub_arrays { public static void main(String args[]){ //Reading the array from the user 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))); } } } } }
输出
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]
广告