题意:找出两数组的交集
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2].
Note:
Each element in the result must be unique.
The result can be in any order.
Java代码:
public class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
int len1 = nums1.length;
int len2 = nums2.length;
Set<Integer> sets = new HashSet<Integer>();
for(int i = 0; i < len1; i++) {
int temp1 = nums1[i];
for(int j = 0; j < len2; j++) {
if(temp1 == nums2[j])
sets.add(temp1);
}
}
int[] result = new int[sets.size()];
int index = 0;
for(Integer x : sets) {
result[index++] = x.intValue();
}
return result;
}
}
解题思路:思路很简单直接,数组遍历比较,利用java中Set的特性,保证了最终数组元素的唯一性
另附Python代码:
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
return list(set(nums1) & set(nums2))