leetcode_rust/
intersection_of_two_arrays.rs

1#![allow(dead_code)]
2
3pub fn intersection(nums1: Vec<i32>, nums2: Vec<i32>) -> Vec<i32> {
4    use std::collections::HashSet;
5    let mut set1 = HashSet::new();
6
7    for num in nums1 {
8        set1.insert(num);
9    }
10
11    let mut set2 = HashSet::new();
12    for num in nums2 {
13        set2.insert(num);
14    }
15
16    set1.intersection(&set2).map(|x| *x).collect()
17}
18
19#[cfg(test)]
20mod tests {
21    use super::*;
22
23    #[test]
24    fn test1() {
25        let nums1 = vec![1, 2, 2, 1];
26        let nums2 = vec![2, 2];
27        assert_eq!(intersection(nums1, nums2), vec![2]);
28    }
29}