Menu
CoddyTech

Intersection of Two Arrays

DễBămpython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được hai mảng số nguyên nums1 và nums2. Hãy trả về mọi giá trị xuất hiện trong cả hai mảng, được sắp xếp theo thứ tự tăng dần. Mỗi giá trị chung chỉ xuất hiện một lần trong đáp án, dù nó lặp lại bao nhiêu lần trong mỗi mảng.

Hàm

intersection(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
danh sách số nguyên đầu tiên
nums2integer-array
danh sách số nguyên thứ hai
Trả vềinteger-array
các giá trị có trong cả hai danh sách, mỗi giá trị một lần, theo thứ tự tăng dần

Ràng buộc

  • 1 ≤ nums1.length, nums2.length ≤ 5000
  • -105 ≤ nums1[i], nums2[i] ≤ 105
  • Có ít nhất một giá trị xuất hiện trong cả hai mảng.

Ví dụ

Đầu vào
nums1 = [6, 2, 9, 2, 4]nums2 = [4, 4, 1, 6]
Đầu ra
[4, 6]
Giải thích
4 và 6 đều có trong cả hai mảng. 4 xuất hiện hai lần trong nums2 nhưng chỉ được liệt kê một lần, còn 2 và 9 không xuất hiện trong nums2.
challenge icon

Câu hỏi mở rộng

Nếu nums1 chứa 10 giá trị còn nums2 chứa một triệu giá trị và đã được sắp xếp thì sao? Bạn sẽ chọn cách nào, và tìm kiếm nhị phân có thể nhanh hơn việc duyệt toàn bộ không?

Đặt lại code
def intersection(nums1, nums2):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Đối số

nums1 = [6, 2, 9, 2, 4]
nums2 = [4, 4, 1, 6]

Đầu ra mong đợi

[4, 6]