题目来源:
leetcode题目,网址:2441. 与对应负数同时存在的最大正整数 - 力扣(LeetCode)
解题思路:
将数组排序后同时从两边遍历数组以寻找与对应负数同时存在的最大正整数。
解题代码:
class Solution {
public int findMaxK(int[] nums) {
int res=-1;
Arrays.sort(nums);
for(int i=0,j=nums.length-1; j>=0&&i<nums.length ;){
if(nums[i]>=0){
break;
}else if(nums[j]==-1*nums[i]){
res=nums[j];
break;
}else if(nums[j]>-1*nums[i]){
j--;
}else{
i++;
}
}
return res;
}
}
总结:
官方题解给出了暴力枚举,哈希表以及排序加双指针三种解法。