LeetCode 350:Intersection of Two Arrays II
来源:互联网 发布:js实现图片3d效果轮播 编辑:程序博客网 时间:2024/05/16 08:37
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, return [2, 2]
.
Note:
- Each element in the result should appear as many times as it shows in both arrays.
- The result can be in any order.
Follow up:
- What if the given array is already sorted? How would you optimize your algorithm?
- What if nums1's size is small compared to num2's size? Which algorithm is better?
- What if elements of nums2 are stored on disk, and the memory is limited such that you cannot load all elements into the memory at once?
例如:
给定 nums1 = [1, 2, 2, 1] , nums2 = [2, 2] ,应当返回 [2, 2] 。
注意:
- 每一个在结果中的元素的出现次数都应该和它在两个数组中出现的次数一样多。(对于上面那个例子,因为2在nums1和nums2中都出现了两次,因此结果中会有两个2)
- 结果的顺序任意。
- 如果给定数组是已排序的数组,你会怎样修改你的算法?((假定数组按升序排列的话)我觉得可以比较两个数组的第一个元素,选出大的那一方,然后在较小的那一个数组里找到对应位置,再从对应位置开始向后搜索;如果找不到大于等于它的元素,那么可以直接返回0)
- 如果nums1的元素个数小于nums2的元素个数怎么办?哪种算法更好?(大概就是n*m与m*n的差别吧。。。这个问题应该和计组有关,但是我现在手边没有书,等之后再答)
- 如果numd2的元素均存储在硬盘上,而你现有的内存无法一次读取出所有nums2的元素你会怎么办?(不懂,need help!)
我能想到的方法只有全部遍历一遍。。。
class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { vector<int> vec; if(nums1.size() == 0 || nums2.size() == 0) return vec; int min; min = nums1.size(); int len = nums2.size(); for(int i = 0 ; i < min ; i++){ int it = nums1[i]; for(vector<int>::iterator j = nums2.begin() ; j < nums2.end() ; j++){ if(it == *j){ vec.push_back(it); nums2.erase(j); break; } } } return vec; }};
0 0
- LeetCode 350:Intersection of Two Arrays II
- LeetCode-350 Intersection of Two Arrays II
- leetcode-Intersection of Two Arrays II-350
- LeetCode 350 Intersection of Two Arrays II
- Leetcode-350-Intersection of Two Arrays II
- Leetcode 350 Intersection of Two Arrays II
- [leetcode][350] Intersection of Two Arrays II
- leetcode-350-Intersection of Two Arrays II
- LeetCode 350 Intersection of Two Arrays II
- leetcode 350 Intersection of two arrays II
- Leetcode 350 Intersection of Two Arrays II
- leetcode 350-Intersection of Two Arrays II
- leetcode note--leetcode 350 Intersection of Two Arrays II
- [LeetCode] Intersection of Two Arrays II
- LeetCode Intersection of Two Arrays II
- LeetCode 350. Intersection of Two Arrays II
- LeetCode:Intersection of Two Arrays II
- leetcode.350. Intersection of Two Arrays II
- 哈弗曼编码
- Android APK瘦身/减小包体
- Palindrome Linked List
- pl/sql 创建并执行oralce存储过程,并返回结果集
- 阿里云上centos6安装docker问题!
- LeetCode 350:Intersection of Two Arrays II
- View的绘制
- iOS创建管理当前账号的单例类
- EDitText
- Gson
- ubuntu安装maven仓库nexus - 1
- Linux 查看linux是64位还是32位
- WM算法原理与代码实现(模式匹配)
- 文章标题