sp1rs
BAN USERHardworking and love programming
Use Sorting to solve this problem
import java.util.Scanner;
import java.util.*;
public class vo{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String s=sc.next();
int l[]=new int[s.length()];
int count=0;
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
if(c=='a' || c=='e' || c=='i' || c=='o' || c=='u'){
l[i]=i;
count++;
}else{
l[i]=i+s.length();
}
}
Arrays.sort(l);
for(int j=0;j<count;j++){
System.out.print(s.charAt(l[j]));
}
for(int j=count;j<s.length();j++){
System.out.print(s.charAt(l[j]-s.length()));
}
System.out.println();
}
}
Just use Floyd's cycle finding algorithm.
- sp1rs July 06, 2013