Python BasicsЛегко

Sort according to another array

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

Постановка задачи

Легко

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.

Ограничения
  • 1 <= len(arr1) <= 10^5
  • 0 <= len(arr2) <= 100
  • Elements of arr2 are distinct

Примеры

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

Готовы решить?

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

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Генераторы Python

Узнайте, как использовать генераторы Python и операторы доходности для обработки огромных наборов данных с минимальным потреблением памяти. Главные выражения-генераторы.

Посмотреть ресурс
Практическое руководство

Как отсортировать список в Python

Узнайте, как сортировать список в Python с помощью метода sort() и функции sorted(). Ознакомьтесь с примерами пользовательской сортировки ключей и обратного порядка.

Посмотреть ресурс
Шпаргалка

Памятка по операторам Python

Освойте арифметические операции, операции сравнения, логические, побитовые операторы, операторы присваивания и идентификации в Python.

Посмотреть ресурс
Сравнение языков

Декораторы Python и шаблоны проектирования декораторов: ключевые различия

Сравните декораторы Python и классический шаблон проектирования декораторов. Поймите разницу между переносом функций во время определения и динамической композицией объектов во время выполнения с помощью исполняемого кода.

Посмотреть ресурс