Поиск первой позиции, где число больше или равно

Дан отсортированный массив целых чисел nums и целое число target. Напишите функцию, которая находит индекс первой позиции в массиве, где значение элемента больше или равно target. Если такого элемента нет, функция должна вернуть -1.

Пример:

  1. Вход: nums = [1, 2, 4, 4, 5, 6, 8, 10], target = 4 Выход: 2

    Объяснение: Первая позиция, где значение больше или равно 4, находится на индексе 2. Это число 4.

  2. Вход: nums = [1, 3, 5, 7, 9, 11], target = 6 Выход: 4

    Объяснение: Первая позиция, где значение больше или равно 6, находится на индексе 4. Это число 9.

  3. Вход: nums = [1, 3, 5, 7, 9, 11], target = 12 Выход: -1

    Объяснение: В массиве нет элементов, которые больше или равны 12.

fun findFirstGreaterOrEqual(nums: IntArray, target: Int): Int {
    var left = 0
    var right = nums.size - 1
    var result = -1

    while (left <= right) {
        val mid = left + (right - left) / 2
        if (nums[mid] >= target) {
            result = mid
            right = mid - 1
        } else {
            left = mid + 1
        }
    }

    return result
}