From d8f3b40085619cb680c8f227c65a1f5acc393223 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 23 Feb 2021 21:07:19 +0800 Subject: Move leetcode solutions to subdir. --- leetcode/cpp/299.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 leetcode/cpp/299.cpp (limited to 'leetcode/cpp/299.cpp') diff --git a/leetcode/cpp/299.cpp b/leetcode/cpp/299.cpp new file mode 100644 index 0000000..21c09b6 --- /dev/null +++ b/leetcode/cpp/299.cpp @@ -0,0 +1,44 @@ +#include + +using std::string; + +class Solution +{ +public: + string getHint(string secret, string guess) + { + int a = 0; + + int secret_digit_count[10] = {0}; + + auto secret_iter = secret.cbegin(); + auto guess_iter = guess.cbegin(); + + while (secret_iter != secret.cend()) + { + auto secret_digit = *secret_iter; + auto guess_digit = *guess_iter; + + secret_digit_count[secret_digit - '0']++; + + if (secret_digit == guess_digit) + a++; + + ++secret_iter; + ++guess_iter; + } + + int b = 0; + for (auto c : guess) + { + auto digit = c - '0'; + if (secret_digit_count[digit]) + { + b++; + secret_digit_count[digit]--; + } + } + + return std::to_string(a) + "A" + std::to_string(b - a) + "B"; + } +}; -- cgit v1.2.3