首页 > 代码库 > Single Number
Single Number
Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
注意:多关键字的multimap不能使用下标操作。
C++代码如下:
#include<iostream>#include<map>using namespace std;class Solution{public: int singleNumber(int A[],int n) { multimap<int,int> mp; int i; for(i=0;i<n;i++) { mp.insert({A[i],i}); } auto map_it=mp.begin(); while(map_it!=mp.end()) { auto tmp=map_it; tmp++; if((tmp)==mp.end()) return (map_it)->first; if(map_it->first!=(tmp)->first) break; map_it++; map_it++; } return map_it->first; }};int main(){ Solution s; int arr[]={2,4,2,4,5}; cout<<s.singleNumber(arr,5)<<endl;}
Single Number
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。