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.