标签:style blog io color sp for on div log
给定一个数组,里面有一个数只出现一次,其他的出现两次,找出出现一次的数。
法一:map(但利用额外空间)
class Solution { public: int singleNumber(int A[], int n) { unordered_map<int, int> umap; for (int i = 0; i < n; i++) { umap[A[i]]++; } for (int i = 0; i < n; i++) if (umap[A[i]] == 1) return A[i]; } };
法二:用异或(只保留出现奇数次的位数)
class Solution { public: int singleNumber(int A[], int n) { int sum = 0; for (int i = 0; i < n; i++) { sum ^= A[i]; } return sum; } };
标签:style blog io color sp for on div log
原文地址:http://www.cnblogs.com/higerzhang/p/4158841.html