Python BasicsEasy

Sort according to another array

Detailed guide and Python implementation for the 'Sort according to another array' problem.

Problem Statement

Easy

Write a function sort_by_order(arr1, arr2) that sorts the elements of arr1 according to the order defined by arr2. Elements in arr1 that appear in arr2 should come first in the order they appear in arr2. Elements not in arr2 should appear at the end in sorted (ascending) order.

Constraints
  • 1 <= len(arr1) <= 10^5
  • 0 <= len(arr2) <= 100
  • Elements of arr2 are distinct

Examples

Example 1
Input
arr1 = [2, 1, 2, 5, 7, 1, 9, 3, 6, 8, 8], arr2 = [2, 1, 8, 3]
Output
[2, 2, 1, 1, 8, 8, 3, 5, 6, 7, 9]
Explanation

First all 2s, then 1s, then 8s, then 3s (order from arr2). Remaining [5,6,7,9] sorted ascending.

Example 2
Input
arr1 = [4, 5, 6], arr2 = [6, 4]
Output
[6, 4, 5]
Explanation

6 first, then 4 (per arr2 order). 5 is not in arr2, goes at end.

Example 3
Input
arr1 = [1, 2, 3], arr2 = []
Output
[1, 2, 3]
Explanation

No order specified, so sort ascending.

Need a Hint?
Consider using Arrays-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor

Recommended Python Resources

Expand your knowledge with related interactive tutorials, cheat sheets, and code comparisons.