Python Thông tin cơ bảnDễ dàng

Sắp xếp theo mảng khác

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Sắp xếp theo mảng khác'.

Tuyên bố vấn đề

Dễ dàng

Viết hàm sort_by_order(arr1, arr2) sắp xếp các phần tử của arr1 theo thứ tự được xác định bởi arr2. Các phần tử trong arr1 xuất hiện trong arr2 phải xuất hiện đầu tiên theo thứ tự chúng xuất hiện trong arr2. Các phần tử không có trong arr2 sẽ xuất hiện ở cuối theo thứ tự được sắp xếp (tăng dần).

Ràng buộc
  • 1 <= len(arr1) <= 10^5
  • 0 <= len(arr2) <= 100
  • Elements of arr2 are distinct

Ví dụ

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?
Hãy cân nhắc việc sử dụng các cấu trúc dữ liệu dành riêng cho Mảng như tập hợp hoặc vùng heap.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

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

Mở trong Trình chỉnh sửa
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

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.