一、题目描述:349. 两个数组的交集(简单)
给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。
示例:
输入: S = "ADOBECODEBANC", T = "ABC"
输出: "BANC"
说明:如果 S 中不存这样的子串,则返回空字符串 ""。
如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-window-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
二、解题思路
创建2个set,第一个数组元素放到第一set里。遍历第二个数组如果元素存在第一set则放到第二set里
返回第二个set的元素
三、代码
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
set<int> s1;
set<int> s2;
for(int i = 0 ;i < nums1.size();i++)
{
s1.insert(nums1[i]);
}
for(int i =0 ;i < nums2.size();i++)
{
if(s1.count(nums2[i]) > 0)
s2.insert(nums2[i]);
}
return vector<int>(s2.begin(),s2.end());
}
};