Задача: 1060. Missing Element in Sorted Array
Сложность: medium
Если задан целочисленный массив nums, который отсортирован по возрастанию и все его элементы уникальны, а также задано целое число k, верните k-е недостающее число, начиная с самого левого номера массива.
Пример:
👨💻 Алгоритм:
1⃣Инициализация переменных:
Задать счетчик недостающих чисел и текущее значение, которое будет проверяться на отсутствие в массиве.
Установить указатель для обхода массива.
2⃣Поиск недостающих чисел:
Проходить по массиву, начиная с первого числа, и для каждого значения проверять, является ли текущее значение недостающим.
Увеличивать счетчик недостающих чисел, если текущее значение отсутствует в массиве.
Продолжать проверку до тех пор, пока не будет найдено k-е недостающее число.
3⃣Возвращение результата:
Вернуть k-е недостающее число после нахождения его.
😎 Решение:
Ставь 👍 и забирай 📚 Базу знаний
Сложность: medium
Если задан целочисленный массив nums, который отсортирован по возрастанию и все его элементы уникальны, а также задано целое число k, верните k-е недостающее число, начиная с самого левого номера массива.
Пример:
Input: nums = [4,7,9,10], k = 1
Output: 5
👨💻 Алгоритм:
1⃣Инициализация переменных:
Задать счетчик недостающих чисел и текущее значение, которое будет проверяться на отсутствие в массиве.
Установить указатель для обхода массива.
2⃣Поиск недостающих чисел:
Проходить по массиву, начиная с первого числа, и для каждого значения проверять, является ли текущее значение недостающим.
Увеличивать счетчик недостающих чисел, если текущее значение отсутствует в массиве.
Продолжать проверку до тех пор, пока не будет найдено k-е недостающее число.
3⃣Возвращение результата:
Вернуть k-е недостающее число после нахождения его.
😎 Решение:
def findKthMissing(nums, k):
missing_count = 0
current = nums[0]
index = 0
while True:
if index < len(nums) and nums[index] == current:
index += 1
else:
missing_count += 1
if missing_count == k:
return current
current += 1
Ставь 👍 и забирай 📚 Базу знаний