[leetcode] intersection-of-two-arrays 两个数组的交集

. - 力扣(LeetCode)

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        sort(nums1.begin(), nums1.end());
        sort(nums2.begin(), nums2.end());
        int length1 = nums1.size(), length2 = nums2.size();
        int index1 = 0, index2 = 0;
        vector<int> intersection;
        while (index1 < length1 && index2 < length2) {
            int num1 = nums1[index1], num2 = nums2[index2];
            if (num1 == num2) {
                // 保证加入元素的唯一性
                if (!intersection.size() || num1 != intersection.back()) {
                    intersection.push_back(num1);
                }
                index1++;
                index2++;
            } else if (num1 < num2) {
                index1++;
            } else {
                index2++;
            }
        }
        return intersection;
    }
};
相关推荐
Vec[95]3 分钟前
opengl箱子的显示
开发语言·c++·算法
WilenWu7 分钟前
线性和二次判别分析
人工智能·算法·机器学习
不会倒的鸡蛋13 分钟前
深入理解数组及其操作
数据结构·算法·数组
chian-ocean16 分钟前
排序(冒泡排序、选择排序、插入排序、希尔排序)-->深度剖析(一)
数据结构·算法·排序算法
无水先生18 分钟前
高斯过程的数学理解
人工智能·算法·机器学习
Star Patrick1 小时前
算法训练(leetcode)第二十二天 | 491. 非递减子序列、全排列、47. 全排列 II
c++·算法·leetcode
可惜我是水瓶座__1 小时前
【LeetCode】分发糖果
算法·leetcode·职场和发展
猫头虎1 小时前
猫头虎博主全栈前沿AI技术领域矩阵社群
人工智能·职场和发展·创业创新·学习方法·业界资讯·程序员创富·改行学it
鸿运当头,财源广进1 小时前
【系统规划与管理师读书笔记】第二章 信息技术知识
经验分享·职场和发展