Ніяких copy-past і компіляцій, будь ласка! Спробуйте зрозуміти, що цей Java-код робить, просто читаючи його. Будьте чесні з собою, шахраї вмирають наодинці :)
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); | |
} | |
} |
Зрозумів? чи було це надто складно? :) Слідкуйте за оновленнями для отримання додаткових головоломок!
