Back to Practice Dashboard
Python BasicsEasy

Sort according to another array

Learn how to solve the 'Sort according to another array' problem. This detailed resource details brute force and optimized approaches.

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?
Use simple arithmetic operators (like modulo `%`, division `//`), conditional checks, or loops to inspect number properties.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

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

Open in Editor