leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE | |
commit | e48442b51718815055f3dce312c7b093b82b0c7e |
parent | af0d37d72a902e65b341d68f566217e8a1b31f53 |
author | Dimitrije Dobrota <mail@dimitrijedobrota.com> |
date | Wed, 20 Nov 2024 20:45:52 +0100 |
Daily Problem
Diffstat:A | Problems/2516.cpp | | | ++++++++++++++++++++++++ |
M | README.md | | | + |
2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/Problems/2516.cpp b/Problems/2516.cpp
@@ -0,0 +1,24 @@
class Solution {
public:
int takeCharacters(const string &s, int k) const {
const int n = size(s);
int count[3] = {0};
for (const char c : s)
count[c - 'a']++;
if (count[0] < k || count[1] < k || count[2] < k) return -1;
int res = n;
for (int i = n - 1, j = n - 1; i >= 0; i--) {
count[s[i] - 'a']--;
while (count[0] < k || count[1] < k || count[2] < k) {
count[s[j--] - 'a']++;
}
res = min(res, i - j);
}
return res + n - 1;
}
};
diff --git a/README.md b/README.md
@@ -1324,6 +1324,7 @@ reference and a base for solving problems.
| 2497 | Medium | [Maximum Star Sum of a Graph](Problems/2497.cpp) |
| 2498 | Medium | [Frog Jump II](Problems/2498.cpp) |
| 2501 | Medium | [Longest Square Streak in an Array](Problems/2501.cpp) |
| 2516 | Medium | [Take K of Each Character From Left and Right](Problems/2516.cpp) |
| 2517 | Medium | [Maximum Tastiness of Candy Basket](Problems/2517.cpp) |
| 2526 | Medium | [Find Consecutive Integers from a Data Stream](Problems/2526.cpp) |
| 2527 | Medium | [Find Xor-Beauty of Array](Problems/2527.cpp) |