From df64aaced5f647b68d8e894395baa42c0b025716 Mon Sep 17 00:00:00 2001 From: Kaushik Narayan R Date: Wed, 4 Oct 2023 12:19:30 -0700 Subject: [PATCH] day 8: 136-single-number --- 136-single-number/driver.cpp | 9 +++++++++ 136-single-number/soln.cpp | 15 +++++++++++++++ 136-single-number/soln.hpp | 9 +++++++++ 3 files changed, 33 insertions(+) create mode 100644 136-single-number/driver.cpp create mode 100644 136-single-number/soln.cpp create mode 100644 136-single-number/soln.hpp diff --git a/136-single-number/driver.cpp b/136-single-number/driver.cpp new file mode 100644 index 0000000..21dbe40 --- /dev/null +++ b/136-single-number/driver.cpp @@ -0,0 +1,9 @@ +#include "soln.hpp" + +int main() { + vector nums = {1,2,3,4,4,3,1}; + int answer = 2; + Solution soln; + cout << "Found single number correctly? " << soln.test(nums, answer) << endl; + return 0; +} \ No newline at end of file diff --git a/136-single-number/soln.cpp b/136-single-number/soln.cpp new file mode 100644 index 0000000..8c36b77 --- /dev/null +++ b/136-single-number/soln.cpp @@ -0,0 +1,15 @@ +#include "soln.hpp" + +int Solution::singleNumber(vector &nums) +{ + int uniq = 0; + for (int num : nums) + { + uniq ^= num; + } + return uniq; +} + +bool Solution::test(vector& nums, int answer) { + return singleNumber(nums) == answer; +} \ No newline at end of file diff --git a/136-single-number/soln.hpp b/136-single-number/soln.hpp new file mode 100644 index 0000000..d3d4db9 --- /dev/null +++ b/136-single-number/soln.hpp @@ -0,0 +1,9 @@ +#include + +using namespace std; + +class Solution { + public: + int singleNumber(vector& nums); + bool test(vector& nums, int answer); +}; \ No newline at end of file