题目:
给你两个整数数组 nums1
和 nums2
,它们已经按非降序排序,请你返回两个数组的 最小公共整数 。如果两个数组 nums1
和 nums2
没有公共整数,请你返回 -1
。
如果一个整数在两个数组中都 至少出现一次 ,那么这个整数是数组 nums1
和 nums2
公共 的。
思路:双序列双指针
代码:
java
class Solution {
public int getCommon(int[] nums1, int[] nums2) {
int n1 = nums1.length;
int n2 = nums2.length;
for (int i = 0, j = 0; i < n1 && j < n2;) {
if (nums1[i] == nums2[j]) {
return nums1[i];
} else if (nums1[i] < nums2[j]) {
i++;
} else {
j++;
}
}
return -1;
}
}
性能:
时间复杂度o(min(n1,n2))
空间复杂度o(1)