problem
题意:
solution1:
统计每个数字出现的次数了,然后再遍历次数数组,如果某个数字出现了两次就是重复数,如果出现了0次,就是缺失数。
注意:如何统计每个数字出现的次数;
class Solution { public: vector<int> findErrorNums(vector<int>& nums) { vector<int> res(2, 0), cnt(nums.size(), 0); for(auto num:nums) ++cnt[num-1]; for(int i=0; i<nums.size(); ++i) { if(cnt[i] == 2) res[0] = i+1; else if(cnt[i]==0) res[1] = i+1; } return res; } };
solution2:相反数;
参考
1. Leetcode_easy_645. Set Mismatch;
2. Grandyang;
完