题解 | #数组中只出现一次的数(其它数出现k次)#

数组中只出现一次的数(其它数出现k次)

http://www.nowcoder.com/practice/5d3d74c3bf7f4e368e03096bb8857871

class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr intvector * @param k int * @return int */ int foundOnceNumber(vector& arr, int k) { // write code here //对于本题分两种情况: //第一种就是k为偶数时,此时直接用异或运算就可求出所要的值 //第二种就是k为奇数时此时利用哈希表 if(k%2==0) { int eor=0; for(int i=0;i<arr.size();i++) { eor=eor^arr[i]; } return eor;//此时eor里面存的就是出现次数为奇数也就是为1的那个数 } else { unordered_map<int,int> hashMap;//定义一个哈希表 for(int i=0;i<arr.size();i++) { hashMap[arr[i]]++; } //遍历整个哈希表找出出现次数为1的数 auto it=hashMap.begin();//定义遍历器it while(it!=hashMap.end()) { if(it->second==1) { return it->first; } else{ ++it; } } return 0; } } };

全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务