#include <unordered_map>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型vector 
     * @return int整型
     */
    int MoreThanHalfNum_Solution(vector<int>& numbers) {
        int l = numbers.size();
        unordered_map<int, int> map;
        for(int i = 0 ; i < l ; i++ ){
            map[numbers[i]]++;
            if(map[numbers[i]]>(l/2)){
                return numbers[i];

            }
            
        }
        return 0;
        // for(auto itor = map.begin();itor != map.end();itor++){
        //     if(itor->second>(l/2)){
        //         return itor->first;
        //     }
        // }
        // return 0;
    }
};

练习使用stl::unordered_map用法,auto关键字

迭代器循环写法:

unordered_map <int ,int>map;//key - value

for(auto itor:map){
  itor->first//对应键 但是一般不能修改键,一般是用到这个值时候用的
	//比如
	map[itor->first]//等价于itor->second
  itor->second//对应值
//数据操作。。。
  }