From 9231bf55a11d2793bcbf14f883adc0f89a319ed6 Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 23 May 2020 14:43:24 +0800 Subject: Add problem 260 . --- cpp/260-2.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 cpp/260-2.cpp (limited to 'cpp/260-2.cpp') diff --git a/cpp/260-2.cpp b/cpp/260-2.cpp new file mode 100644 index 0000000..336d9e1 --- /dev/null +++ b/cpp/260-2.cpp @@ -0,0 +1,26 @@ +#include + +using std::vector; + +class Solution +{ +public: + vector singleNumber(vector &nums) + { + int diff = 0; + for (auto i : nums) + { + diff ^= i; + } + + int mask = diff & (-diff); + + int result = 0; + for (auto i : nums) + { + result ^= (i & mask) ? i : 0; + } + + return {result, result ^ diff}; + } +}; -- cgit v1.2.3