继续创作,加速生长!这是我参与「日新计划 10 月更文应战」的第6天,点击查看活动详情
两个数组的交集1
标题:
给定两个数组,编写一个函数来核算它们的交集。
For Example:
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
Solution:
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> intersect = new HashSet<Integer>();
int len1 = nums1.length;
int len2 = nums2.length;
Set<Integer> set = new HashSet<Integer>();
if(len1 < len2){
for (int i = 0; i < len2; i++) {
if (!set.contains(nums2[i])) {
set.add(nums2[i]);
}
}
for (int j = 0; j < len1; j++) {
if (set.contains(nums1[j])) {
intersect.add(nums1[j]);
}
}
} else {
for (int i = 0; i < len1; i++) {
if (!set.contains(nums1[i])) {
set.add(nums1[i]);
}
}
for (int j = 0; j < len2; j++) {
if (set.contains(nums2[j])) {
intersect.add(nums2[j]);
}
}
}
int[] array = new int[intersect.size()];
int i = 0;
for(int value:intersect) {
array[i++] = value;
}
return array;
}
}
两个数组的交集2
标题:
给定两个数组,编写一个函数来核算它们的交集。
For Example:
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2,2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[4,9]
Solution:
class Solution {
public int[] intersect(int[] nums1, int[] nums2) {
// 先找出比较长的数组
if (nums1.length < nums2.length){
return intersect(nums2, nums1);
}
// 寄存值与呈现的次数
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
//遍历数组,初始化 map
for (int i = 0; i < nums1.length; i++) {
map.put(nums1[i], map.getOrDefault(nums1[i], 0) + 1);
}
int[] array = new int[nums1.length];
int index = 0;
for (int j = 0; j < nums2.length; j++) {
if (map.containsKey(nums2[j])){
array[index++] = nums2[j];
if ((map.get(nums2[j]) - 1) <= 0){
map.remove(nums2[j]);
} else {
map.put(nums2[j], map.get(nums2[j]) - 1);
}
}
}
int arr2[] = java.util.Arrays.copyOf(array,index);
return arr2;
}
}
我是杰少,如果您觉的我写的不错,那请给我 点赞+谈论+保藏 后再走哦!
往期文章:
- 运用 Google Breakpad 来助力处理程序崩溃
- UE4 多人游戏服务器探索
- 运用虚幻引擎自动化东西实现自动化部署
- 如安在 UE4 中制作一扇自动开启的大门
- 如安在 UE4 顶用代码去控制人物移动
- 怎么给 UE4 场景增加游戏人物
- UE4:Android 平台开发实践攻略
- UE4 开发避坑攻略(继续更新)
- 新年开工啦,放个小烟花庆祝一下
- 聊聊与苹果审核员的爱恨情仇(下)
- 聊聊与苹果审核员的爱恨情仇(上)
- 一名普通东西人的 2021 | 2021年终总结
- 二叉树刷题总结:二叉查找树的特点
- 二叉树总结:二叉树的特点
- 二叉树总结:二叉树的修正与构造
- StoreKit2 有这么香?嗯,我试过了,真香
- 看完这篇文章,再也不怕面试官问我怎么构造二叉树啦!
- 那帮做游戏的又想让我们氪金,太坏了!
- 手把手带你撸一个网易云音乐主页 | 适配篇
- 手把手带你撸一个网易云音乐主页(三)
- 手把手带你撸一个网易云音乐主页(二)
- 手把手带你撸一个网易云音乐主页(一)
- 代码要写注释吗?写你就输了
- Codable发布这么久我就不学,摸鱼爽歪歪,哎~就是玩儿
- iOS 高雅的处理网络数据,你真的会吗?不如看看这篇
- UICollectionView 自定义布局!看这篇就够了
请你喝杯 ☕️ 点赞 + 重视哦~
- 阅读完记住给我点个赞哦,有 有动力
- 重视公众号— HelloWorld杰少,第一时间推送新姿态
最终,创作不易,如果对我们有所协助,希望我们点赞支撑,有什么问题也可以在谈论区里讨论~**