https://leetcode.com/problems/special-array-with-x-elements-greater-than-or-equal-x/description/ Easy

Условие

Дан массив целых неотрицательных чисел nums. Число x называют специальным, если ровно x элементов массива nums не меньше x. Требуется вернуть такое x, если он существует, иначе вернуть -1. Гарантируется, что при существовании он единственный.

Решение

class Solution {
    fun specialArray(nums: IntArray): Int {
        nums.sort()
        val n = nums.size
        for (i in nums.indices) {
            val x = n - i
            if (nums[i] >= x && (i == 0 || nums[i - 1] < x)) return x
        }
        return -1
    }
}