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/395.cpp | 56 ------------------------------------ 1 file changed, 56 deletions(-) delete mode 100644 works/solutions/leetcode/cpp/395.cpp (limited to 'works/solutions/leetcode/cpp/395.cpp') diff --git a/works/solutions/leetcode/cpp/395.cpp b/works/solutions/leetcode/cpp/395.cpp deleted file mode 100644 index d45eee9..0000000 --- a/works/solutions/leetcode/cpp/395.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include - -using std::string; - -class Solution { -public: - static int dfs(const std::string &s, int start, int end, int k) { - if (end - start < k) { - return 0; - } - - std::array counts{0}; - - for (int i = start; i < end; i++) { - counts[s[i] - 'a']++; - } - - int max = -1; - - for (char c = 'a'; c <= 'z'; c++) { - int count = counts[c - 'a']; - - if (count > 0 && count < k) { - int sub_start = start; - - for (int i = start; i < end; i++) { - if (s[i] == c) { - if (sub_start != i) { - max = std::max(dfs(s, sub_start, i, k), max); - } - sub_start = i + 1; - } - } - - if (sub_start != end) { - max = std::max(dfs(s, sub_start, end, k), max); - } - - break; // This is vital. - } - } - - if (max == -1) - return end - start; - else - return max; - } - - int longestSubstring(string s, int k) { return dfs(s, 0, s.size(), k); } -}; - -int main() { - Solution{}.longestSubstring("aaaaaaaaaaaabcdefghijklmnopqrstuvwzyz", 3); - return 0; -} -- cgit v1.2.3