You are here : Home / Core Java Tutorials / Interview Programs (beginner to advanced) in java / Level2 programs in java (intermediate)
In this core java programming tutorial we will write a program to Find subArray in array whose sum matches required sum in java.
Find subArray in array whose sum matches required sum
Example- in inputString(123451) following subString [123, 51] have sum=6
Full Program/SourceCode/ Example to Find subArray in array whose sum matches required sum in java >
import java.util.HashSet;
import java.util.Set;
/** Copyright (c), AnkitMittal JavaMadeSoEasy.com */
public class SubStringWithRequiredSum {
static Set<String> s=new HashSet<String>();
public static void main(String[] args) {
String inputString="123451";
int requiredSum=6;
findPairs(inputString.toCharArray(),requiredSum);
System.out.println("in inputString("+inputString+") following subString "+s+" have sum="+requiredSum);
}
/**
* find substring whose sum matches required sum.
*/
static void findPairs(char ar[], int requiredSum){
for(int i=0;i<ar.length-1;i++){
int sum=0;
for(int j=i;j<ar.length;j++){
sum=sum+Integer.parseInt(String.valueOf(ar[j]));
if(sum>requiredSum){
break;
}
else if (sum==requiredSum){
int iRef=i;
char subArray[]=new char[j-i+1];
for(int k=0;k<j-i+1;k++){
subArray[k]=ar[iRef++];
}
s.add(new String(subArray));
break;
}
}
}
}
}
/*OUTPUT
in inputString(123451) following subString [123, 51] have sum=6
*/
|
So in this core java programming tutorial we wrote a program how to Find subArray in array whose sum matches required sum in java.
RELATED LINKS>