NC75数组中只出现一次的数字(哈希法)
NC75数组中只出现一次的数字(哈希法)
- 1、题目描述:
-3、 设计思想:
详细操作流程看下图:
-5、代码:
c++版本:
class Solution {
public:
void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
map<int,int>mp; //定义一个哈希表
for(int i = 0;i < data.size();i ++){
mp[data[i]]++; //把data里面元素出现的次数进行统计
}
vector<int>res; //定义res方便给*num1,*num2赋值
for(int i = 0;i < data.size();i ++){
if(mp[data[i]] == 1){//如果data[i]出现过一次就加入到res里面
res.push_back(data[i]);
}
if(res.size() >= 2) break; //因为题目说了,只有两个元素出现了1次,所以res的大小超过1个就可以不需要遍历data数组了
}
*num1 =res[0];
*num2 = res[1];
}
};
Java版本:
//num1,num2分别为长度为1的数组。传出参数 //将num1[0],num2[0]设置为返回结果 import java.util.*; public class Solution
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
前端岗位面试真题宝典 文章被收录于专栏
本面试宝典均来自校招面试题目大数据进行的整理
