From e1ca40071b48a3348d9ec2b5b62af7cbb5edc8fc Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 23 May 2020 14:43:24 +0800 Subject: import(solutions): Add problem 260 . --- works/solutions/cpp/260-2.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 works/solutions/cpp/260-2.cpp (limited to 'works/solutions/cpp/260-2.cpp') diff --git a/works/solutions/cpp/260-2.cpp b/works/solutions/cpp/260-2.cpp new file mode 100644 index 0000000..336d9e1 --- /dev/null +++ b/works/solutions/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