leetcode-两个数组交集(包含重复元素)
2024-08-30 01:26:44
Python解法代码:
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
nums1.sort()
nums2.sort()
r = []
i = j = 0
while i < len(nums1) and j < len(nums2):
if nums1[i] == nums2[j]:
r.append(nums1[i])
i += 1
j += 1
elif nums1[i] < nums2[j]:
i += 1
else:
j += 1
return r
C++解法代码:
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
if(nums1.size()>nums2.size()) swap(nums1,nums2);//用元素少的数组元素查找
map<int,int> a;
for(int i=;i<nums2.size();i++)//初始化map
{
if(!a.count(nums2[i]))
a.insert(map<int,int>::value_type(nums2[i],));
else a[nums2[i]]++;
}
vector<int> res;
for(int i=;i<nums1.size();i++)
{
if(a.count(nums1[i])) // 检测是否存在
{
if(a[nums1[i]]!=) // 检测存在的值是否被使用过了
{
res.push_back(nums1[i]);
a[nums1[i]]--;
}
}
}
return res;
}
}; 例如输入值:
[3,1,2]
[1,1]
预期输出结果:
[1]
最新文章
- Linux 入门之修改主机名
- eclipse添加easyExport插件,打开本地文件
- CentOS系统启动流程
- URL传递中文乱码的问题
- rabbitmq批量删除队列
- Ogre初入手:最简单的ogre程序骨架
- 复制选中的listbox内容
- 【转】JavaScript实际应用:父子页面交互
- about家庭智能设备部分硬件模块功能共享【协同工作】solution
- iOS的category和protocol
- NET Core开发-使用Nancy框架
- Problem A Where is the Marble?(查找排序)
- Codeforces 437E The Child and Polygon(间隔DP)
- setTimeout,setInterval你不知道的事
- python学习笔记(八)、特殊方法、特性和迭代器
- Asp.net 使用线程池实例
- Go语言学习笔记(二) [变量、类型、关键字]
- Arraylist集合遍历输出
- 安装启动kafka
- navicat mysql导出数据 批量插入的形式
热门文章
- PHP-组合总和
- 设置overflow:auto无效的解决办法
- elasticsearch依赖的jackson-jar包与jboss依赖的jackson-jar包“版本”冲突
- 【JavaWeb项目】一个众筹网站的开发(六)后台用户权限控制
- 【JZOJ1914】【BZOJ2125】最短路
- python 爬取头条视频
- siege之-服务端性能测试
- 架构-软件系统体系结构-B/S架构:B/S架构
- CSS:CSS margin(外边距)
- 如何在Python中让两个print()函数的输出打印在一行内?