No copy-past and compilation, please! Try to understand, what this Java code does just reading it. Be honest with yourself, cheaters die along :)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Java program to print *** | |
public class Secret | |
{ | |
public static void main(String[] args) | |
{ | |
String str = "ABC"; | |
int n = str.length(); | |
Secret secret = new Secret(); | |
secret.doYourDance(str, 0, n-1); | |
} | |
/** | |
* *** function | |
* @param str string to *** | |
* @param l starting index | |
* @param r end index | |
*/ | |
private void doYourDance(String str, int l, int r) | |
{ | |
if (l == r) | |
System.out.println(str); | |
else | |
{ | |
for (int i = l; i <= r; i++) | |
{ | |
str = swap(str,l,i); | |
doYourDance(str, l+1, r); | |
str = swap(str,l,i); | |
} | |
} | |
} | |
/** | |
* Swap Characters at position | |
* @param a string value | |
* @param i position 1 | |
* @param j position 2 | |
* @return swapped string | |
*/ | |
public String swap(String a, int i, int j) | |
{ | |
char temp; | |
char[] charArray = a.toCharArray(); | |
temp = charArray[i] ; | |
charArray[i] = charArray[j]; | |
charArray[j] = temp; | |
return String.valueOf(charArray); | |
} | |
} |
Got it? was is hard, smart a**s? :) Stay tuned for more puzzles!
