День 16 з 100 днів Leetcode з Прією

Сьогоднішня задача: 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)

Leave a Reply

Your email address will not be published. Required fields are marked *