Skip to content

Commit b8e5f9f

Browse files
spattkMadhavBahl
authored andcommitted
Adding Java Code (#111)
1 parent 0875503 commit b8e5f9f

File tree

2 files changed

+114
-0
lines changed

2 files changed

+114
-0
lines changed

day10/Java/StringPermutations.java

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/**
2+
* @date 03/01/19
3+
* @author spattk (Sitesh Pattanaik)
4+
*/
5+
6+
import java.util.*;
7+
8+
class StringPermutations {
9+
10+
static void printArr(char[] arr){
11+
for(char x : arr){
12+
System.out.print(x);
13+
}
14+
}
15+
16+
static void printAllPermutationsUtil(String str, boolean[] visited, char[] res, int index){
17+
18+
if(index==str.length())
19+
{
20+
printArr(res);
21+
System.out.println();
22+
return;
23+
}
24+
25+
for(int i=0;i<str.length();i++)
26+
{
27+
if(visited[i]){
28+
continue;
29+
}
30+
res[index] = str.charAt(i);
31+
visited[i] = true;
32+
printAllPermutationsUtil(str, visited, res, index+1);
33+
visited[i] = false;
34+
}
35+
}
36+
37+
static void printAllPermutations(String str){
38+
int n = str.length();
39+
boolean[] visited = new boolean[n];
40+
Arrays.fill(visited, false);
41+
char[] res = new char[n];
42+
printAllPermutationsUtil(str, visited, res, 0);
43+
}
44+
45+
public static void main (String[] args) {
46+
Scanner sc = new Scanner(System.in);
47+
String str = sc.next();
48+
char[] temp = str.toCharArray();
49+
Arrays.sort(temp);
50+
str = new String(temp);
51+
printAllPermutations(str);
52+
System.out.println();
53+
}
54+
}

day10/README.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,66 @@ public class Permutation {
218218
}
219219
```
220220

221+
## Java Implementation
222+
223+
### [Solution](./Java/StringPermutations.java)
224+
225+
```java
226+
/**
227+
* @date 03/01/19
228+
* @author spattk ( Sitesh Pattanaik )
229+
*/
230+
import java.util.*;
231+
232+
class StringPermutations {
233+
234+
static void printArr(char[] arr){
235+
for(char x : arr){
236+
System.out.print(x);
237+
}
238+
}
239+
240+
static void printAllPermutationsUtil(String str, boolean[] visited, char[] res, int index){
241+
242+
if(index==str.length())
243+
{
244+
printArr(res);
245+
System.out.println();
246+
return;
247+
}
248+
249+
for(int i=0;i<str.length();i++)
250+
{
251+
if(visited[i]){
252+
continue;
253+
}
254+
res[index] = str.charAt(i);
255+
visited[i] = true;
256+
printAllPermutationsUtil(str, visited, res, index+1);
257+
visited[i] = false;
258+
}
259+
}
260+
261+
static void printAllPermutations(String str){
262+
int n = str.length();
263+
boolean[] visited = new boolean[n];
264+
Arrays.fill(visited, false);
265+
char[] res = new char[n];
266+
printAllPermutationsUtil(str, visited, res, 0);
267+
}
268+
269+
public static void main (String[] args) {
270+
Scanner sc = new Scanner(System.in);
271+
String str = sc.next();
272+
char[] temp = str.toCharArray();
273+
Arrays.sort(temp);
274+
str = new String(temp);
275+
printAllPermutations(str);
276+
System.out.println();
277+
}
278+
}
279+
```
280+
221281
## C++ Implementation
222282

223283
### [Solution](./C++/permutationday10.cpp)

0 commit comments

Comments
 (0)