Skip to content

Commit db59d54

Browse files
committed
Runtime: 341 ms (Top 53.7%) | Memory: 16.20 MB (Top 72.22%)
1 parent 2a8e011 commit db59d54

File tree

1 file changed

+8
-31
lines changed

1 file changed

+8
-31
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,10 @@
1-
class Solution:
2-
def check(self,perm,n) :
3-
arr =[]
4-
for i in range(len(perm)):
5-
if i % 2 == 0:
6-
arr.append(perm[i//2])
7-
if i % 2 == 1:
8-
arr.append(perm[n//2 + (i-1)//2])
9-
return arr
1+
// Runtime: 341 ms (Top 53.7%) | Memory: 16.20 MB (Top 72.22%)
102

3+
class Solution:
114
def reinitializePermutation(self, n: int) -> int:
12-
perm = []
13-
for i in range(n):
14-
perm.append(i)
15-
16-
drr = perm
17-
c = 0
18-
#print(drr)
19-
arr =self.check(perm,n)
20-
if arr == drr:
21-
return 1
22-
else:
23-
c = c + 1
24-
25-
while arr != drr:
26-
if arr != perm:
27-
perm = []
28-
perm = arr
29-
arr = self.check(perm,n)
30-
c = c + 1
31-
if arr == drr:
32-
break
33-
return c
5+
ans = 0
6+
perm = list(range(n))
7+
while True:
8+
ans += 1
9+
perm = [perm[n//2+(i-1)//2] if i&1 else perm[i//2] for i in range(n)]
10+
if all(perm[i] == i for i in range(n)): return ans

0 commit comments

Comments
 (0)