import java.util.SortedSet ;
import java.util.TreeSet ;
import java.util.Scanner ;
import java.util.Arrays ;
/**
*
* @author Ashu
* Recursive method to find all permutations of a String without any duplicates
* (if exists).
*/
public final class Main
{
{
int length = endStr.length ( ) ;
if ( length == 1 ) set.add ( begStr + endStr) ;
else
{
for ( int i = 0 ; i < length ; i++ )
{
String newStr
= endStr.
substring ( 0 , i
) + endStr.
substring ( i
+ 1 ) ; permuteString( begStr + endStr.charAt ( i) , newStr) ;
}
}
}
{
int k = 0 ;
{
System .
out .
println ( ++ k
+ " --> " + str
) ; }
System .
out .
println ( "Frequency of Permutations : " + k
) ; }
{
int loc
= Arrays .
binarySearch ( list.
toArray ( ) , sch
) + 1 ; System .
out .
println ( "String Found At :: " + loc
) ; }
public static void main
( String [ ] args
) {
PermutationRecursive pR = new PermutationRecursive( ) ;
Scanner scan
= new Scanner
( System .
in ) ;
System .
out .
print ( "Enter a String :: " ) ; String str
= scan.
nextLine ( ) ;
pR.permuteString ( "" , str) ;
pR.print ( pR.set ) ;
System .
out .
print ( "Enter the String to be searched :: " ) ; String input
= scan.
nextLine ( ) ; scan.close ( ) ;
pR.search ( pR.set , input) ;
}
}
aW1wb3J0IGphdmEudXRpbC5Tb3J0ZWRTZXQgOwppbXBvcnQgamF2YS51dGlsLlRyZWVTZXQgOwppbXBvcnQgamF2YS51dGlsLlNjYW5uZXIgOwppbXBvcnQgamF2YS51dGlsLkFycmF5cyA7CgovKioKICoKICogQGF1dGhvciBBc2h1CiAqIFJlY3Vyc2l2ZSBtZXRob2QgdG8gZmluZCBhbGwgcGVybXV0YXRpb25zIG9mIGEgU3RyaW5nIHdpdGhvdXQgYW55IGR1cGxpY2F0ZXMKICogICAoaWYgZXhpc3RzKS4KICovCnB1YmxpYyBmaW5hbCBjbGFzcyBNYWluCnsKICAgIHByaXZhdGUgU29ydGVkU2V0IDxTdHJpbmc+IHNldCA9IG5ldyBUcmVlU2V0IDxTdHJpbmc+ICgpIDsKCiAgICBwcml2YXRlIHZvaWQgcGVybXV0ZVN0cmluZyhTdHJpbmcgYmVnU3RyLCBTdHJpbmcgZW5kU3RyKQogICAgewogICAgICAgIGludCBsZW5ndGggPSBlbmRTdHIubGVuZ3RoKCkgOwogICAgICAgIGlmIChsZW5ndGggPT0gMSkgc2V0LmFkZChiZWdTdHIgKyBlbmRTdHIpIDsKICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGludCBpID0gMCA7IGkgPCBsZW5ndGggOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0cmluZyBuZXdTdHIgPSBlbmRTdHIuc3Vic3RyaW5nKDAsIGkpICsgZW5kU3RyLnN1YnN0cmluZyhpKzEpIDsKICAgICAgICAgICAgICAgIHBlcm11dGVTdHJpbmcoYmVnU3RyICsgZW5kU3RyLmNoYXJBdChpKSwgbmV3U3RyKSA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIHByaW50KFNvcnRlZFNldCA8U3RyaW5nPiBsaXN0KQogICAgewogICAgICAgIGludCBrID0gMCA7CiAgICAgICAgZm9yIChTdHJpbmcgc3RyIDogbGlzdCkKICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigrK2sgKyAiIC0tPiAiICsgc3RyKSA7CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRnJlcXVlbmN5IG9mIFBlcm11dGF0aW9ucyA6ICIgKyBrKSA7CiAgICB9CgogICAgcHJpdmF0ZSB2b2lkIHNlYXJjaChTb3J0ZWRTZXQgPFN0cmluZz4gbGlzdCwgU3RyaW5nIHNjaCkKICAgIHsKICAgICAgICBpbnQgbG9jID0gQXJyYXlzLmJpbmFyeVNlYXJjaChsaXN0LnRvQXJyYXkoKSwgc2NoKSArIDEgOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU3RyaW5nIEZvdW5kIEF0IDo6ICIgKyBsb2MpIDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIFBlcm11dGF0aW9uUmVjdXJzaXZlIHBSID0gbmV3IFBlcm11dGF0aW9uUmVjdXJzaXZlKCkgOwogICAgICAgIFNjYW5uZXIgc2NhbiA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbikgOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJFbnRlciBhIFN0cmluZyA6OiAiKSA7CiAgICAgICAgU3RyaW5nIHN0ciA9IHNjYW4ubmV4dExpbmUoKSA7CgogICAgICAgIHBSLnBlcm11dGVTdHJpbmcoIiIsIHN0cikgOwogICAgICAgIHBSLnByaW50KHBSLnNldCkgOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJFbnRlciB0aGUgU3RyaW5nIHRvIGJlIHNlYXJjaGVkIDo6ICIpIDsKICAgICAgICBTdHJpbmcgaW5wdXQgPSBzY2FuLm5leHRMaW5lKCkgOwogICAgICAgIHNjYW4uY2xvc2UoKSA7CiAgICAgICAgcFIuc2VhcmNoKHBSLnNldCwgaW5wdXQpIDsKICAgIH0KfQ==
compilation info
Main.java:48: cannot find symbol
symbol : class PermutationRecursive
location: class Main
PermutationRecursive pR = new PermutationRecursive() ;
^
Main.java:48: cannot find symbol
symbol : class PermutationRecursive
location: class Main
PermutationRecursive pR = new PermutationRecursive() ;
^
2 errors
stdout