leetcode349
时间: 2023-10-03 16:04:36 浏览: 46
LeetCode第349号问题是"两个数组的交集"。这个问题可以使用不同的方法来解决。其中一种方法是使用Java中的集合(Set)来处理。首先,我们将nums2数组中的元素放入一个Set中,并去除重复元素。然后,我们遍历nums1数组中的每个元素,如果这个元素在Set中存在,就将它添加到结果集合中。最后,我们将结果集合转换为数组并返回。
另一种方法是使用JavaScript中的Set和filter函数来解决。我们首先将nums1数组中的元素放入一个Set中,然后使用filter函数遍历nums2数组,只保留那些在Set中存在的元素。最后,我们将结果转换为数组并返回。
以下是Java和JavaScript的代码示例:
Java代码:
```java
public static int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> nums = new HashSet<Integer>();
Set<Integer> result = new HashSet<>();
for(int i=0;i<nums2.length;i++) {
nums.add(nums2[i]);
}
for(int i=0;i<nums1.length;i++) {
if(nums.contains(nums1[i])) {
result.add(nums1[i]);
}
}
int[] res = new int[result.size()];
int i=0;
Iterator<Integer> iter = result.iterator();
while(iter.hasNext()){
res[i]=(int)iter.next();
i++;
}
return res;
}
```
JavaScript代码:
```javascript
var intersection = function(nums1, nums2) {
let set = new Set(nums1);
return [...new Set(nums2.filter(item => set.has(item)))];
};
```