Given an integer array nums
that does not contain any zeros, find the largest positive integer k
such that -k
also exists in the array.
Return the positive integer k
. If there is no such integer, return -1
.
LeetCode Problem - 2441
import java.util.HashSet;
class Solution {
// Method to find the maximum value of k such that both k and -k exist in the array
public int findMaxK(int[] nums) {
// Initialize the result variable to store the maximum value of k
int result = -1;
// Create a HashSet to store unique elements from the array
HashSet<Integer> hs = new HashSet<>();
// Add all elements of the array to the HashSet
for(int e : nums) {
hs.add(e);
}
// Iterate through the array to find the maximum value of k
for(int k : nums) {
// Check if k is positive and its negation (-k) exists in the HashSet
if(k > 0 && hs.contains(-k)) {
// Update the result with the maximum of the current k and the previous result
result = Math.max(result, k);
}
}
// Return the maximum value of k found
return result;
}
}