mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-05-02 06:46:18 -04:00
reorganize dir
Signed-off-by: Mia Steinkirch <mia.steinkirch@gmail.com>
This commit is contained in:
parent
1b6f705e7c
commit
a8e71c50db
276 changed files with 23954 additions and 0 deletions
25
other_resources/interview_cake/strings/palindrome.py
Normal file
25
other_resources/interview_cake/strings/palindrome.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
"""
|
||||
Write an efficient function that checks whether
|
||||
any permutation of an input string is a palindrome.
|
||||
"""
|
||||
|
||||
def has_palindrome_permutation(the_string):
|
||||
unpaired_characters = set()
|
||||
|
||||
for char in the_string:
|
||||
if char in unpaired_characters:
|
||||
unpaired_characters.remove(char)
|
||||
else:
|
||||
unpaired_characters.add(char)
|
||||
|
||||
return len(unpaired_characters) <= 1
|
||||
|
||||
str1 = "civic"
|
||||
print has_palindrome_permutation(str1)
|
||||
print "Should be True"
|
||||
|
||||
str2 = "ivilc"
|
||||
print has_palindrome_permutation(str2)
|
||||
print "Should be False"
|
Loading…
Add table
Add a link
Reference in a new issue