2733.既不是最小值也不是最大值

keybot
0
2025-08-20

#easy
给你一个整数数组 nums ,数组由 不同正整数 组成,请你找出并返回数组中 任一 既不是 最小值 也不是 最大值 的数字,如果不存在这样的数字,返回 -1 。

返回所选整数。

提示:

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100
  • nums 中的所有数字互不相同

思路
若只有两个元素,那必然没有中间值,对于三个以上的元素,对其前三个元素排序取第二值即可。

int  *compare(int *a,int*b)
{
    return *a-*b;
}
int findNonMinOrMax(int* nums, int numsSize) {
    if (numsSize <= 2)
        return -1;
    qsort(nums,3,sizeof(int),compare);
    return nums[1];
}