From dc1f0c4c0096013799416664894c5194dc7e1f52 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Fri, 28 Feb 2025 23:13:39 +0800 Subject: chore(store): move everything to store. --- works/solutions/leetcode/cpp/401.cpp | 57 ------------------------------------ 1 file changed, 57 deletions(-) delete mode 100644 works/solutions/leetcode/cpp/401.cpp (limited to 'works/solutions/leetcode/cpp/401.cpp') diff --git a/works/solutions/leetcode/cpp/401.cpp b/works/solutions/leetcode/cpp/401.cpp deleted file mode 100644 index 71147f4..0000000 --- a/works/solutions/leetcode/cpp/401.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include - -using std::string; -using std::vector; - -const std::array hour_digits{1, 2, 4, 8}; -const std::array minute_digits{1, 2, 4, 8, 16, 32}; - -class Solution { -public: - template - void dfs(const std::array &digits, int total_count, int rest_count, - int start_index, int value, std::vector &result) { - - if (value >= max) - return; - - if (rest_count == 0) { - result.push_back(value); - return; - } - - for (int i = start_index; i <= size - rest_count; i++) { - dfs(digits, total_count, rest_count - 1, i + 1, - value + digits[i], result); - } - } - - vector readBinaryWatch(int num) { - vector results; - - for (int i = (num > 6 ? num - 6 : 0); i <= (num > 4 ? 4 : num); i++) { - std::vector hours; - std::vector minutes; - if (i == 0) - hours = {0}; - else - dfs<12>(hour_digits, i, i, 0, 0, hours); - if (i == num) - minutes = {0}; - else - dfs<60>(minute_digits, num - i, num - i, 0, 0, minutes); - - for (auto hour : hours) { - for (auto minute : minutes) { - char buffer[6]; - sprintf(buffer, "%d:%02d", hour, minute); - results.push_back(string(buffer)); - } - } - } - - return results; - } -}; -- cgit v1.2.3