thepraveen0207
BAN USERpublic class RectPermu1 {
public void print_all_rect(int x, int y, int len, int wid){
int Ysign,Xsign;
for(int i=1; i<=4;i++){
Xsign = (i==1 || i==4)? 1:-1;
Ysign = (i==1 || i==2)? 1:-1;
System.out.print("("+ x + "," + y + ") ");
System.out.print("("+ (x+Xsign*len) + "," + y + ") ");
System.out.print("("+ (x+Xsign*len) + "," + (y+Ysign*wid) + ") ");
System.out.print("("+ x + "," + (y+Ysign*wid) + ") ");
System.out.println();
}
System.out.println();
}
public void print_all_permu(int area, int x, int y){
for(int len=1; len<=Math.sqrt(area);len++){
if(area%len==0){
int wid = area/len;
print_all_rect(x,y,len,wid);
if(len!=wid) print_all_rect(x,y,wid,len);
}
}
}
public static void main(String[] args) {
RectPermu1 obj = new RectPermu1();
int area = 1;
obj.print_all_permu(area,1,1);
}
}
For the input at the above i.e "AbcDefljdflsjflmnopflsjflasjftuvWxYz"
Your code produces this output
A;bc;D;ef;l;j;d;f;l;s;j;f;lmnop;f;l;s;j;f;l;a;s;j;f;tuv;W;x;Y;z
but it should be
abcdef; lmnop; tuvwxyz
Perfect running code
Please let me know if you find any mistake or I haven't handled any case.
public class contiAlpha {
public static void printContiAlpha(String in){
in = in.toLowerCase();
char prevChar = 'a';
char currentChar = 'a';
int i = 1;
boolean contiguous = false;
while(i<in.length()){
prevChar = in.charAt(i-1);
currentChar = in.charAt(i);
if(currentChar==prevChar+1){
System.out.print(prevChar);
contiguous = true;
}
else{
if(contiguous){
System.out.print(prevChar);
System.out.print("; ");
}
contiguous=false;
}
i++;
}
if(currentChar==prevChar+1) System.out.print(currentChar);
}
public static void main(String[] args) {
String in = "AbcDefljdflsjflmnopflsjflasjftuvWxYz";
printContiAlpha(in);
}
}
log(n)
- thepraveen0207 August 25, 2012
- thepraveen0207 October 26, 2012