File tree 1 file changed +25
-25
lines changed
src/main/java/g3401_3500/s3470_permutations_iv
1 file changed +25
-25
lines changed Original file line number Diff line number Diff line change 5
5
import java .util .ArrayList ;
6
6
import java .util .List ;
7
7
8
- class Solution {
8
+ @ SuppressWarnings ("java:S6541" )
9
+ public class Solution {
9
10
private static final long INF = 1_000_000_000_000_000_000L ;
10
11
11
12
private long helper (int a , int b ) {
@@ -54,30 +55,29 @@ public int[] permute(int n, long k) {
54
55
int even = n / 2 ;
55
56
int last = -1 ;
56
57
for (int i = 1 ; i <= n ; i ++) {
57
- if (used [i ]) {
58
- continue ;
59
- }
60
- int odd2 = odd ;
61
- int even2 = even ;
62
- int cp = i & 1 ;
63
- int next = (cp == 1 ? 0 : 1 );
64
- if (cp == 1 ) {
65
- odd2 --;
66
- } else {
67
- even2 --;
68
- }
69
- int r = n - 1 ;
70
- long cnt = solve (odd2 , even2 , r , next );
71
- if (k > cnt ) {
72
- k -= cnt ;
73
- } else {
74
- ans .add (i );
75
- used [i ] = true ;
76
- odd = odd2 ;
77
- even = even2 ;
78
- last = cp ;
79
- first = true ;
80
- break ;
58
+ if (!used [i ]) {
59
+ int odd2 = odd ;
60
+ int even2 = even ;
61
+ int cp = i & 1 ;
62
+ int next = (cp == 1 ? 0 : 1 );
63
+ if (cp == 1 ) {
64
+ odd2 --;
65
+ } else {
66
+ even2 --;
67
+ }
68
+ int r = n - 1 ;
69
+ long cnt = solve (odd2 , even2 , r , next );
70
+ if (k > cnt ) {
71
+ k -= cnt ;
72
+ } else {
73
+ ans .add (i );
74
+ used [i ] = true ;
75
+ odd = odd2 ;
76
+ even = even2 ;
77
+ last = cp ;
78
+ first = true ;
79
+ break ;
80
+ }
81
81
}
82
82
}
83
83
if (!first ) {
You can’t perform that action at this time.
0 commit comments