LeetCode
来源:互联网 发布:澳门mac专柜地址 编辑:程序博客网 时间:2024/06/06 13:19
349. Intersection of Two Arrays
Given two arrays, write a function to compute their intersection.
Example:
Given nums1 = [1, 2, 2, 1]
, nums2 = [2, 2]
, return [2]
.
Note:
- Each element in the result must be unique.
- The result can be in any order.
找出两数组中都包含的数,结果去重。
时间复杂度O(n),空间复杂度O(n)
class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { vector<int> ans; if (nums1.empty() || nums2.empty()) return ans; unordered_map<int, bool> vis; for (auto x: nums1) { vis[x] = true; } for (auto x: nums2) { if (vis.find(x) == vis.end() || vis[x] == false) continue; ans.push_back(x); vis[x] = false; } return ans; }};
350. Intersection of Two Arrays II
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 nums2'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?
找出两数组中重复的数,不去重。
时间复杂度O(n),空间复杂度O(n)
class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { vector<int> ans; if (nums1.empty() || nums2.empty()) return ans; unordered_map<int, int> vis; for (auto x: nums1) { vis[x]++; } for (auto x: nums2) { if (vis.find(x) == vis.end() || vis[x] == 0) continue; ans.push_back(x); vis[x]--; } return ans; }};
阅读全文
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- 2.让Android应用程序访问C库
- 机器学习视频第二课(从伯努利到sigmoid函数)
- 快排、堆排序
- am335x 看门狗驱动&看门狗应用例程序。
- softReference
- LeetCode
- Win32 SOCKET之UDP
- HDU 6053 TrickGCD
- 框架学习系列 mybatis 第三篇 mybatis入门程序之工程项目的搭建
- python学习笔记(1)
- windows 下搭建golang开发环境,安装vim插件
- for循环简单使用
- 工程文件vs MAKEFile
- Andorid之打包出现Proguard returned with erro code 1.See console解决办法