寻找数组中既不是最小值也不是最大值的数字
在处理数组时,常常会遇到一些特定的筛选问题。例如,给定一个包含不同正整数的数组,我们希望从中找到一个既不是最小值也不是最大值的数字。如果数组中不存在这样的数字,我们应该返回 -1。今天,我们将探讨如何高效地解决这一问题,并分析解决方案的时间复杂度和空间复杂度。
问题描述
假设我们有一个整数数组 nums,数组中的每个元素都是不同的正整数。我们的目标是找出数组中的一个数字,该数字既不是最小值也不是最大值。如果不存在这样的数字,返回 -1。
示例 1:
nums = [3, 1, 5, 7, 9]
对于这个数组,最小值是 1,最大值是 9,中间值有 3, 5, 和 7。我们可以选择任何一个中间值作为返回结果。例如返回 5。
示例 2:
nums = [1, 2]
这个数组只有两个元素,因此没有“既不是最小值也不是最大值”的数字,应该返回 -1。
示例 3:
nums = [10, 20, 30]
在这个例子中,最小值是 10,最大值是 30,而中间的 20 正好是我们要找的数字。因此返回 20。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



