Interview Questions/Coding/Warehouse Tree Relabel Swaps

Warehouse Tree Relabel Swaps

Preview mode. Log in to edit, run, submit, and save progress.

Hard

Warehouse Tree Relabel Swaps

A complete warehouse tree was flattened into a level-order array. A migration tool needs the flattened values to appear in increasing order. In one operation, the tool may swap the values at any two positions of the flattened array. Values are distinct. Determine the minimum number of swaps needed to transform the current flattened order into sorted increasing order. Input Format: You are given an integer array levelOrder. Output Format: Return the minimum number of arbitrary swaps required to sort the array.

Examples

Example 1
Input:
levelOrder = [5, 6, 7, 8, 9]
Output:
0

Explanation: Sorting [5, 6, 7, 8, 9] into [5, 6, 7, 8, 9] creates cycle(s) none. The cycles need 0 swap(s), so the output is 0.

Approach hint

Sorting tells where each element must go.

Common mistake

Skipping assumptions, edge cases, or trade-offs can make an otherwise good answer feel incomplete.

solution.cpp