「每日LeetCode」2022年11月20日

本文最后更新于:2023年3月19日 晚上

  1. 与对应负数同时存在的最大正整数

2441. 与对应负数同时存在的最大正整数

给你一个 不包含 任何零的整数数组 nums ,找出自身与对应的负数都在数组中存在的最大正整数 k 。
返回正整数_ _k ,如果不存在这样的整数,返回 -1 。

示例 1:
输入:nums = [-1,2,-3,3] 输出:3 解释:3 是数组中唯一一个满足题目要求的 k 。
示例 2:
输入:nums = [-1,10,6,7,-7,1] 输出:7 解释:数组中存在 1 和 7 对应的负数,7 的值更大。
示例 3:
输入:nums = [-10,8,6,7,-2,-3] 输出:-1 解释:不存在满足题目要求的 k ,返回 -1 。

提示:

  • 1 <= nums.length <= 1000
  • -1000 <= nums[i] <= 1000
  • nums[i] != 0

思路

按题意模拟即可

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* @param {number[]} nums
* @return {number}
*/
var findMaxK = function (nums) {
const set = new Set(nums);
let max = -1;
for (const num of nums) {
if (num < 0) continue;
const positive = -num;
if (!set.has(positive)) continue;
max = Math.max(max, num);
}
return max;
};