Ошибка при решении задачи из leetcode

Это задача из leetcode.

С клавиатуры вводиться target и набор чисел. Если число target есть в наборе, то нужно вернуть индекс этого числа. Если нет, то нужно вернуть потенциальный индекс, как если бы числа стояли по порядку.

Пример1:

Input:
nums = [1,2,5,6,7], target=2; 

Output: 1

Пример2:

nums=[1,2,5,6,7], target=3;
Output: 2

Первый кейс всегда срабатывает корректно, но второй всегда возвращает 0.

Как исправить данную ситуацию?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Harry

Если я правильно понял условие, то

int searchInsert(int * nums, int size, int tgt)
{
    int idx = 0;
    while(idx < size && nums[idx] < tgt) ++idx;
    return idx;
}

Или я неправ? Тогда приведите контрпример, чтоб я правильно понял условие.

→ Ссылка