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

Рейтинг: -2Ответов: 1Опубликовано: 12.03.2023

Это задача из 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

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

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

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