Here we have to find groups of 3’s where
from i to k ( here i < j < k && a[i] < a[j]<a[k] )
public class Main {
public static void main(String[] args) {
Scanner fr=new Scanner(System.in);
int n[]={2,5,3,4,1,6,2};
for(int i=0;i<n.length;i++){
boolean k[]=new boolean[n.length];
k[i]=true;
find_h(n,k,i+1,1);
}
}
static void find_h(int a[],boolean k[],int c,int count){
if(count==3){
for(int i=0;i<a.length;i++){
if(k[i]) System.out.print(a[i]+" ");
}
System.out.println();
return;
}
if(c==a.length){
return;
}
int l=last(k);
if(a[c]>a[l]){
k[c]=true;
find_h(a,k,c+1,count+1);
k[c]=false;
}
find_h(a,k,c+1,count);
}
static int last(boolean k[]){
for(int i=k.length-1;i>=0;i--){
if(k[i]) return i;
}
return -1;
}
}