rustgym/leetcode/
_1608_special_array_with_x_elements_greater_than_or_equal_x.rs

1struct Solution;
2
3impl Solution {
4    fn special_array(nums: Vec<i32>) -> i32 {
5        let n = nums.len();
6        for i in 0..=n {
7            if i == nums.iter().filter(|&&x| x >= i as i32).count() {
8                return i as i32;
9            }
10        }
11        -1
12    }
13}
14
15#[test]
16fn test() {
17    let nums = vec![3, 5];
18    let res = 2;
19    assert_eq!(Solution::special_array(nums), res);
20    let nums = vec![0, 0];
21    let res = -1;
22    assert_eq!(Solution::special_array(nums), res);
23    let nums = vec![0, 4, 3, 0, 4];
24    let res = 3;
25    assert_eq!(Solution::special_array(nums), res);
26}