美文网首页
构造 K 个回文字符串 ^.^ 2022/08/16

构造 K 个回文字符串 ^.^ 2022/08/16

作者: 佛说子曰道道 | 来源:发表于2022-08-15 09:59 被阅读0次

https://leetcode.cn/problems/construct-k-palindrome-strings
这是一个回文串的题,想一下,回文串有什么特征呢?就是除了中心位的,所有的字符都可以找到另一个自己。那么回文串有以下两种情况:
1.长度为偶数,所有的字符都有另一个自己
2.长度为奇数,除了中间的字符所有的字符都有另一个自己
那么,我们是不是可以看原字符串中有多少个字符,出现了奇数次。再比较一下,这个奇数次能不能被安插到对应的回文串中就可以了?bingo……
只是注意一个小坑,我也是提交了一次才注意到,如果原字符串的长度为2,要求出来7个回文串,那也是不太可能。示例中也给出了

输入:s = "cr", k = 7
输出:false
解释:我们没有足够的字符去构造 7 个回文串。

最后给出代码

public boolean canConstruct(String s, int k) {
        char[] chars = s.toCharArray();
        int[] charInt = new int[26];
        for (char aChar : chars) {
            charInt[aChar - 'a']++;
        }
        int count = 0;
        for (int i : charInt) {
            if (i % 2 != 0) {
                count++;
            }
        }
        return k >= count && k <= s.length();
    }

相关文章

  • 409-最长回文串

    最长回文串 题目 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请...

  • Python编程题25--最长回文串的长度

    题目 给定一个仅包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 注意:在构造过程中,字符串...

  • leetcode每日一题 python解法 3月19日

    难度:简单 题目内容: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程...

  • C# 判断字符串是否是回文字符串(单链表)

    回文字符串: ABCDCBA ABCDDCBA 两种都属于回文字符串; 如何判断一个字符串是否是否回文: 使用快慢...

  • 摄影/【茶园】

    拍摄地点/普宁市 2022/08/16

  • leecode刷题(15)-- 验证回文字符串

    leecode刷题(15)-- 验证回文字符串 验证回文字符串 给定一个字符串,验证它是否是回文串,只考虑字母和数...

  • 409. 最长回文串

    内容 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小...

  • 巧用贪心算法,计算出字符串回文

    题目: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大...

  • StringBuilder类

    StringBuilder类  1.构造   无参构造,创建一个默认长度为16的字符串缓冲区,而StringBui...

  • Leetcode_409_最长回文串_hn

    题目描述 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大...

网友评论

      本文标题:构造 K 个回文字符串 ^.^ 2022/08/16

      本文链接:https://www.haomeiwen.com/subject/xjyrgrtx.html