Minimum Number of Operations to Reinitialize a Permutation - Problem
You are given an even integer n. You initially have a permutation perm of size n where perm[i] == i (0-indexed).
In one operation, you will create a new array arr, and for each i:
- If
i % 2 == 0, thenarr[i] = perm[i / 2] - If
i % 2 == 1, thenarr[i] = perm[n / 2 + (i - 1) / 2]
You will then assign arr to perm.
Return the minimum non-zero number of operations you need to perform on perm to return the permutation to its initial value.
Input & Output
Example 1 — Small Even Number
$
Input:
n = 2
›
Output:
1
💡 Note:
Initial: [0,1]. After 1 operation: [0,1] (back to original). Answer: 1 operation.
Example 2 — Medium Size
$
Input:
n = 4
›
Output:
2
💡 Note:
Initial: [0,1,2,3]. After 1 op: [0,2,1,3]. After 2 ops: [0,1,2,3] (back to original). Answer: 2 operations.
Example 3 — Larger Size
$
Input:
n = 6
›
Output:
4
💡 Note:
Initial: [0,1,2,3,4,5]. Takes 4 operations to return to this exact permutation.
Constraints
- 2 ≤ n ≤ 1000
- n is even
Visualization
Tap to expand
Understanding the Visualization
1
Input
Even integer n representing permutation size
2
Process
Apply transformation repeatedly until back to original
3
Output
Minimum operations needed for full cycle
Key Takeaway
🎯 Key Insight: Track only one element's position - when it returns to start, the entire permutation has cycled
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code