Сьогоднішня задача: K-те відсутнє додатне число
Тип: Циклічне сортування
Структура даних: Масив
Дано масив arr з додатних цілих чисел, відсортований у строго зростаючому порядку, та ціле число k.
Потрібно повернути k-те додатнє число, яке відсутнє в масиві.
Приклад 1:
Вхід: arr = [2,3,4,7,11], k = 5
Вихід: 9
Пояснення: Відсутні додатні числа: [1,5,6,8,9,10,12,13,...]. П'яте відсутнє додатнє число — це 9.
Приклад 2:
Вхід: arr = [1,2,3,4], k = 2
Вихід: 6
Пояснення: Відсутні додатні числа: [5,6,7,...]. Друге відсутнє додатнє число — це 6.
Підхід: скористаємося тим, що масив містить додатні цілі числа. Потрібно пам'ятати, що потрібне число може бути після завершення масиву.
Рішення:
/**
*@params {number[]} arr
*@params {number} k
*@return {number}
*/
var findKthPostiveInteger = function(arr, k){
let num = 1;
let index = 0;
while(k>0){
arr[i] === num ? index++ : k--;
num++;
}
return num-1;
}
Перекладено з: [Day 16 of 100 Days of leetcode with Priya](https://medium.com/@priyasharma_49934/day-16-of-100-days-of-leetcode-with-priya-8194906e6936)