剑指offer——只出现一次的数字
作者:互联网
给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
示例 1:
输入:nums = [2,2,3,2]
输出:3
示例 2:
输入:nums = [0,1,0,1,0,1,100]
输出:100
提示:
1 <= nums.length <= 3 * 104
-231 <= nums[i] <= 231 - 1
nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次
题解:
注意vector的迭代器写法,对map的遍历
1 class Solution { 2 public: 3 int singleNumber(vector<int>& nums) { 4 map<int ,int> mapp; 5 for (auto iter =nums.cbegin(); iter != nums.cend(); iter++) 6 { 7 mapp[*iter]++; 8 } 9 for(auto iter:mapp) 10 { 11 if(iter.second==1) 12 { 13 return iter.first ; 14 } 15 } 16 return 0; 17 } 18 };
标签:map,一次,数字,nums,offer,示例,iter,mapp,元素 来源: https://www.cnblogs.com/sylvia1111/p/15713004.html