Menu
CoddyTech

Intersection of Two Arrays

Тебе даны два массива целых чисел: nums1 и nums2. Верни все значения, которые встречаются в обоих массивах, в порядке возрастания. Каждое общее значение должно встречаться в ответе один раз, независимо от того, сколько раз оно повторяется в каждом из массивов.

Функция

intersection(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
первый список целых чисел
nums2integer-array
второй список целых чисел
Возвращаетinteger-array
значения, присутствующие в обоих списках, каждое по одному разу, в порядке возрастания

Ограничения

  • 1 ≤ nums1.length, nums2.length ≤ 5000
  • -105 ≤ nums1[i], nums2[i] ≤ 105
  • Хотя бы одно значение присутствует в обоих массивах.

Примеры

Ввод
nums1 = [6, 2, 9, 2, 4]nums2 = [4, 4, 1, 6]
Вывод
[4, 6]
Пояснение
4 и 6 есть в обоих массивах. 4 встречается в nums2 дважды, но указан один раз, а 2 и 9 никогда не встречаются в nums2.

lock icon+16 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Что, если в nums1 содержится 10 значений, а в nums2 — миллион, уже отсортированных? Какой подход ты бы выбрал и может ли бинарный поиск быть эффективнее полного прохода?

Сбросить код
def intersection(nums1, nums2):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Ввод

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

Ожидается

[4, 6]