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, then arr[i] = perm[i / 2]
  • If i % 2 == 1, then arr[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
Permutation Reinitialize Problem (n=4)Input: n = 4Initial permutation: [0, 1, 2, 3]0123Apply TransformationAfter Operation 1: [0, 2, 1, 3]0213Apply Transformation AgainAfter Operation 2: [0, 1, 2, 3] ✓ Back to original!Output: 2
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
Asked in
Google 15 Amazon 12 Microsoft 8
28.0K Views
Medium Frequency
~15 min Avg. Time
856 Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen