LC.P2441[与对应负数同时存在的最大正整数]

方法一:哈希表

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public int findMaxK(int[] nums) {
Set<Integer> set = new HashSet<>();
int ans = -1;
for (int num : nums) set.add(num);
for (int x : set) {
if (set.contains(-x)) ans = Math.max(ans, x);
}
return ans;
}
}
  • 时间复杂度:$O(n)$
  • 空间复杂度:$O(n)$