两个数组的交集
数组 两个 交集
2023-09-14 08:57:47 时间
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2,2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[4,9]
提示:
1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000
进阶:
如果给定的数组已经排好序呢?你将如何优化你的算法?
如果 nums1 的大小比 nums2 小,哪种方法更优?
如果 nums2 的元素存储在磁盘上,内存是有限的,并且你不能一次加载所有的元素到内存中,你该怎么办?
class Solution(object): def intersect(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ nums = [] if len(nums1) > len(nums2): for i in nums2: if i in nums1: nums.append(i) nums1.pop(nums1.index(i)) else: for i in nums1: if i in nums2: nums.append(i) nums2.pop(nums2.index(i)) return nums
相关文章
- java:在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作
- Java实现 LeetCode 556 下一个更大元素 III(数组的翻转)
- Java实现 LeetCode 349 两个数组的交集
- Java实现 LeetCode 88 合并两个有序数组
- 批量更新代码整理(代码库)从数组中批量取数据的方法
- LeetCode:4_Median of Two Sorted Arrays | 求两个排序数组的中位数 | Hard
- 【数组&双指针】leetcode4. 寻找两个正序数组的中位数【困难, 未完】
- Go语言字符串和数组的相互转换
- Algorithm:C+语言实现之数组相关算法(和为定值的两个数、和为定值的m个数、荷兰国旗、长度为2n的洗牌算法、任意长度数组的洗牌算法)
- 两个数组的交集 II(C++)
- 求两个数组的交集
- 88. 合并两个有序数组-o(n)时间复杂度和o(1)空间复杂度
- 349. 两个数组的交集
- Leetcode 1551. 使数组中所有元素相等的最小操作数
- Leetcode 349. 两个数组的交集
- 返回一个整数数组中最大子数组的和
- 合并两个有序数组
- 两个有序数组的中位数(第k大的数)——使用二分答案的思路写起来更直观
- 【Leetcode刷题Python】88. 合并两个有序数组
- JS从0到1——737. 数组替换