Java 代码:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
Arrays.sort(nums1);
Arrays.sort(nums2);
int i = 0;
int j = 0;
List<Integer> list = new ArrayList<>();
while (i < nums1.length && j < nums2.length) {
if (nums1[i] < nums2[j]) {
i++;
} else if (nums1[i] > nums2[j]) {
j++;
} else {
list.add(nums1[i]);
i++;
j++;
}
}
int[] res = new int[list.size()];
int index = 0;
for (Integer integer : list) {
res[index] = integer;
index++;
}
return res;
}
}
Python 代码:
class Solution:
def intersect(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
nums1.sort()
nums2.sort()
len1 = len(nums1)
len2 = len(nums2)
result = []
i = 0
j = 0
while i < len1 and j < len2:
if nums1[i] < nums2[j]:
i += 1
elif nums1[i] == nums2[j]:
result.append(nums1[i])
i += 1
j += 1
else:
j += 1
return result