leetcode

Leetcode Solutions (0x6A73)
git clone https://git.pngu.org/leetcode
Log | Files | Refs | Submodules | README

commit 86fae540ca9b40b8294541593b32600549c5a653
parent 906231fba337f2e2a04f5ce33dff6c9cd43b7d97
Author: Jack Sangdahl <jack@pngu.org>
Date:   Fri, 10 Jan 2025 20:31:27 -0500

1400. construct k palindrome strings

Diffstat:
Mconstruct_k_palindrome_str.c | 20+++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/construct_k_palindrome_str.c b/construct_k_palindrome_str.c @@ -7,20 +7,14 @@ */ bool canConstruct(char *s, int k) { - int n = strlen(s); - if (n < k) - return 0; - int *c = calloc(26, sizeof(int)); - for (int i = 0; i < n; i++) - c[s[i] - 'a']++; - int odd = 0; + int cnt[26] = {0}, odds = 0; + if (k > strlen(s)) + return false; + for (int i = 0; s[i]; i++) + cnt[s[i] - 'a']++; for (int i = 0; i < 26; i++) - if (c[i] % 2 == 1) - odd++; - free(c); - if (odd > k) - return 0; - return 1; + odds += (cnt[i] % 2); + return k >= odds; } int main() {