intersect(nums1: number[], nums2: number[]): number[] {
// let nums1 = [1, 1]
// let nums2 = [1, 2]
// 交集
// 先对两个数组进行排序
nums1.sort((a, b) => { return a - b })
nums2.sort((a, b) => { return a - b })
let i = 0;
let j = 0;
let List = []
while (i < nums1.length && j < nums2.length) {
if (nums1[i] < nums2[j]) {
// 如果i指向的值小于j指向的值,,说明i指向
// 的值小了,i往后移一步
i++;
} else if (nums1[i] > nums2[j]) {
// 如果i指向的值大于j指向的值,说明j指向的值
// 小了,j往后移一步
j++;
} else {
// 如果i和j指向的值相同,说明这两个值是重复的,
// 把他加入到集合list中,然后i和j同时都往后移一步
List.push(nums1[i]);
i++;
j++;
}
}
return List
}
typeScript求交集
最新推荐文章于 2023-09-26 18:31:59 发布