unordered_map和vector模拟
数组中重复的数字
http://www.nowcoder.com/questionTerminal/6fe361ede7e54db1b84adc81d09d8524
unordered_map
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型vector * @return int整型 */ int duplicate(vector<int>& numbers) { // write code here unordered_map<int,int> mp; for( auto num : numbers ) { mp[num]++; if( mp[num]>=2 ) { return num; } } return -1; } };
vector模拟Hash
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型vector * @return int整型 */ int duplicate(vector<int>& numbers) { // write code here int Len=numbers.size(); vector<int> myHash(Len); for( auto num : numbers ) { ++myHash[num]; if( myHash[num]>=2 ) { return num; } } return -1; } };