2733. Neither Minimum nor Maximum

题目 #

Given an integer array nums containing distinct positive integers, find and return any number from the array that is neither the minimum nor the maximum value in the array, or -1 if there is no such number.

Return the selected integer.

Example 1:

Input: nums = [3,2,1,4]
Output: 2
Explanation: In this example, the minimum value is 1 and the maximum value is 4. Therefore, either 2 or 3 can be valid answers.

Example 2:

Input: nums = [1,2]
Output: -1
Explanation: Since there is no number in nums that is neither the maximum nor the minimum, we cannot select a number that satisfies the given condition. Therefore, there is no answer.

Example 3:

Input: nums = [2,1,3]
Output: 2
Explanation: Since 2 is neither the maximum nor the minimum value in nums, it is the only valid answer.

Constraints:

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100
  • All values in nums are distinct

思路1 前3个数一定有答案 #

分析 #

  • 小于等于2肯定没答案,题目条件,数字互不相同,那么前三个数中一定有一个在中间
  • 排序前三个即可,取第二个

代码 #

1func findNonMinOrMax(nums []int) int {
2	if len(nums) <= 2 {
3		return -1
4	}
5	sort.Ints(nums[:3])
6	return nums[1]
7}