File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed
Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.util.* ;
3+ class Solution {
4+ static int [] number;
5+ static boolean [] visited;
6+ static int len;
7+ static Set<Integer > primes = new HashSet<> ();
8+
9+ public int solution (String numbers ) {
10+ len = numbers. length();
11+ number = new int [len];
12+ visited = new boolean [len];
13+ primes. clear();
14+
15+ for (int i = 0 ; i < len; i++ ){
16+ number[i] = Character . getNumericValue(numbers. charAt(i));
17+ }
18+
19+ findPrime(new StringBuilder ());
20+ return primes. size();
21+ }
22+
23+ public static void findPrime (StringBuilder sb ){
24+ if (sb. length() > 0 ){
25+ int num = Integer . parseInt(sb. toString());
26+ if (isPrime(num)){
27+ primes. add(num);
28+ }
29+ }
30+
31+ for (int i = 0 ; i < len; i++ ){
32+ if (! visited[i]){
33+ visited[i] = true ;
34+ sb. append(number[i]);
35+ findPrime(sb);
36+ sb. deleteCharAt(sb. length() - 1 );
37+ visited[i] = false ;
38+ }
39+ }
40+ }
41+
42+ public static boolean isPrime (int num ){
43+ if (num < 2 ) return false ;
44+ if (num == 2 ) return true ;
45+ if (num % 2 == 0 ) return false ;
46+
47+ for (int i = 3 ; i * i <= num; i += 2 ){
48+ if (num % i == 0 ) return false ;
49+ }
50+ return true ;
51+ }
52+ }
53+ ```
You can’t perform that action at this time.
0 commit comments