Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to find the subarray whose sum is equal to a given number N in Java

1 Answer

0 votes
public class MyClass {
    private static void PrintSubarrayWithSumEqualToN(int[] arr, int N) {
        int size = arr.length;
        
    	for (int i = 0; i < size; i++) {
    		int current_sum = arr[i];
    
    		if (current_sum == N) {
    			System.out.print("Sum found at index: " + i);
    			return;
    		}
    		else {
    				for (int j = i + 1; j < size; j++) {
    					current_sum += arr[j];
    
    					if (current_sum == N) {
    						System.out.println("Sum found between index " + i + " and " + j);
    						for (int k = i; k <= j; k++) {
    							System.out.print(arr[k] + " ");
    						}
    						return;
    					}
    				else if (current_sum > N) {
    					    break;
    				    }
    				}
    		}
    	}
    	System.out.print("No subarray found");
    }

    public static void main(String args[]) {
      	int[] arr = {2, 5, 8, 9, 1, 7, 12, 21, 19};

	    int N = 52;

	    PrintSubarrayWithSumEqualToN(arr, N);
    }
}




/*
run:
 
Sum found between index 6 and 8
12 21 19 
 
*/

 



answered Sep 26, 2022 by avibootz
...