检查字符串以查看它是否是任何排列的回文

123

我已经创建了一个可以成功完成此操作的函数(我很确定),但是我担心其中的部分效率。我有两个嵌套for循环,我认为这会使该算法在O(n ^ 2)附近最坏的情况。有什么办法可以改善这个状况?

def palindrome(string):
    s = [c.replace(' ', '') for c in string]
    merged = "".join(s)
    srt = sorted(merged)
    dic = {}
    singles = 0

    for i in srt:
        if i not in dic:
            dic[i] = 1
        else:
            # Worried about this second loop having to run for every i in srt
            for key, value in dic.items():
                if key == i:
                    dic[key] = 2 
    for key, value in dic.items():
        if value == 1:
            singles += 1
    if singles > 1:
        return False
    else:
        return True
安蒂·哈帕拉(Antti Haapala)

您需要找出是否最多有一个“单”字母(其他字母是成对的)。因此,我们用计算字母,collections.Counter并确保只有0或1个字母具有奇数:

from collections import Counter


def has_palindrome(string):
    return sum(v % 2 for v in Counter(string).values()) <= 1

print(has_palindrome('abcabcc'))  # True
print(has_palindrome('abc'))  # False

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查字符串是否是回文

来自分类Dev

检查字符串是否是回文

来自分类Dev

检查字符串是否是回文(使用方法)

来自分类Dev

检查字符串是否是Java中的回文

来自分类Dev

如何检查字符串是否是回文JavaScript

来自分类Dev

如何检查字符串是否是回文

来自分类Dev

检查字符串是否是Java中的回文

来自分类Dev

在Java中,如何检查字符串是否是回文?

来自分类Dev

检查字符后是否有任何字符串

来自分类Dev

检查字符串是否有日期,任何格式

来自分类Dev

检查字符串是否包含任何单词

来自分类Dev

检查字符串是否包含数组的任何值?

来自分类Dev

检查字符串是否包含数组的任何元素

来自分类Dev

检查字符串是否匹配字符串数组中的任何字符串?

来自分类Dev

多次删除字符后检查字符串是否为回文?

来自分类Dev

递归布尔函数,用于检查字符串是否是回文

来自分类Dev

检查字符串是否是回文(CodeSignal测试用例问题)

来自分类Dev

使用C中的函数检查字符串是否为回文

来自分类Dev

Python:递归函数来检查字符串是否是回文

来自分类Dev

如何检查字符串是否包含列表/数组中的任何字符串

来自分类Dev

XSLT:检查字符串A是否包含标记化字符串B的任何元素

来自分类Dev

Drools规则:检查字符串是否在集合中包含任何字符串

来自分类Dev

如何检查字符串的排列(或部分)是否在列表(字典)中?

来自分类Dev

如何检查字符串的排列(或部分)是否在列表(字典)中?

来自分类Dev

使用指针:检查字符串是否按字典顺序排列的程序

来自分类Dev

检查字符串列表是否包含任何枚举字符串值

来自分类Dev

HQL检查字段是否包含字符串列表中的任何字符串

来自分类Dev

检查字符串是否包含任何顺序的字符串列表

来自分类Dev

检查字符串是否不包含Python中子字符串列表中的任何子字符串

Related 相关文章

  1. 1

    检查字符串是否是回文

  2. 2

    检查字符串是否是回文

  3. 3

    检查字符串是否是回文(使用方法)

  4. 4

    检查字符串是否是Java中的回文

  5. 5

    如何检查字符串是否是回文JavaScript

  6. 6

    如何检查字符串是否是回文

  7. 7

    检查字符串是否是Java中的回文

  8. 8

    在Java中,如何检查字符串是否是回文?

  9. 9

    检查字符后是否有任何字符串

  10. 10

    检查字符串是否有日期,任何格式

  11. 11

    检查字符串是否包含任何单词

  12. 12

    检查字符串是否包含数组的任何值?

  13. 13

    检查字符串是否包含数组的任何元素

  14. 14

    检查字符串是否匹配字符串数组中的任何字符串?

  15. 15

    多次删除字符后检查字符串是否为回文?

  16. 16

    递归布尔函数,用于检查字符串是否是回文

  17. 17

    检查字符串是否是回文(CodeSignal测试用例问题)

  18. 18

    使用C中的函数检查字符串是否为回文

  19. 19

    Python:递归函数来检查字符串是否是回文

  20. 20

    如何检查字符串是否包含列表/数组中的任何字符串

  21. 21

    XSLT:检查字符串A是否包含标记化字符串B的任何元素

  22. 22

    Drools规则:检查字符串是否在集合中包含任何字符串

  23. 23

    如何检查字符串的排列(或部分)是否在列表(字典)中?

  24. 24

    如何检查字符串的排列(或部分)是否在列表(字典)中?

  25. 25

    使用指针:检查字符串是否按字典顺序排列的程序

  26. 26

    检查字符串列表是否包含任何枚举字符串值

  27. 27

    HQL检查字段是否包含字符串列表中的任何字符串

  28. 28

    检查字符串是否包含任何顺序的字符串列表

  29. 29

    检查字符串是否不包含Python中子字符串列表中的任何子字符串

热门标签

归档