求交集程序怎么写

时间:2025-01-26 07:55:37 单机游戏

求交集的程序可以根据不同的编程语言和数据结构有多种实现方法。以下是几种常见编程语言的实现示例:

Python

在Python中,可以使用集合(set)来求两个列表的交集。以下是一个示例:

```python

class Solution:

def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:

return list(set(nums1) & set(nums2))

```

Java

在Java中,可以使用集合(Set)来求两个数组的交集。以下是一个示例:

```java

import java.util.ArrayList;

import java.util.HashSet;

import java.util.List;

import java.util.Set;

public class Solution {

public List intersection(int[] nums1, int[] nums2) {

Set set1 = new HashSet<>();

Set set2 = new HashSet<>();

for (int num : nums1) {

set1.add(num);

}

for (int num : nums2) {

if (set1.contains(num)) {

set2.add(num);

}

}

return new ArrayList<>(set2);

}

}

```

C++

在C++中,可以使用`std::set`来求两个数组的交集。以下是一个示例:

```cpp

include

include

include

include

std::vector intersection(const std::vector& nums1, const std::vector& nums2) {

std::set set1(nums1.begin(), nums1.end());

std::set resultSet;

for (int num : nums2) {

if (set1.find(num) != set1.end()) {

resultSet.insert(num);

}

}

return std::vector(resultSet.begin(), resultSet.end());

}

```

JavaScript

在JavaScript中,可以使用`Set`对象来求两个数组的交集。以下是一个示例:

```javascript

function intersection(nums1, nums2) {

const set1 = new Set(nums1);

const resultSet = new Set();

for (const num of nums2) {

if (set1.has(num)) {

resultSet.add(num);

}

}

return Array.from(resultSet);

}

```

C

在C中,可以使用`HashSet`来求两个数组的交集。以下是一个示例:

```csharp

using System;

using System.Collections.Generic;

using System.Linq;

public class Solution {

public List Intersection(int[] nums1, int[] nums2) {

HashSet set1 = new HashSet(nums1);

HashSet resultSet = new HashSet();

foreach (int num in nums2) {

if (set1.Contains(num)) {

resultSet.Add(num);

}

}

return resultSet.ToList();

}

}

```

这些示例展示了如何在不同的编程语言中实现求交集的功能。你可以根据具体的需求和编程环境选择合适的方法。