diff options
Diffstat (limited to 'set_mismatch.cpp')
-rw-r--r-- | set_mismatch.cpp | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/set_mismatch.cpp b/set_mismatch.cpp deleted file mode 100644 index 8c216bc..0000000 --- a/set_mismatch.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - vector<int> findErrorNums(vector<int> &nums) { - int p = 0, ac1 = 0, ac2 = 0; - for (uint i = 0; i < nums.size(); ++i) - p ^= (i + 1) ^ nums[i]; - p &= -p; - for (uint i = 0; i < nums.size(); ++i) { - ((nums[i] & p) == 0) ? ac1 ^= nums[i] : ac2 ^= nums[i]; - (((i + 1) & p) == 0) ? ac1 ^= i + 1 : ac2 ^= i + 1; - } - for (auto n : nums) - if (n == ac1) - return {ac1, ac2}; - return {ac2, ac1}; - } -}; |