Python program to check if a string contains all unique characters
Last Updated :
28 Mar, 2023
To implement an algorithm to determine if a string contains all unique characters.
Examples:
Input : s = "abcd"
Output: True
"abcd" doesn't contain any duplicates. Hence the output is True.
Input : s = "abbd"
Output: False
"abbd" contains duplicates. Hence the output is False.
One solution is to create an array of boolean values, where the flag at the index i indicates whether character i in the alphabet is contained in the string. The second time you see this character you can immediately return false.
You can also return false if the string length exceeds the number of unique characters in the alphabet.
Implementation:
Python
def isUniqueChars(st):
# String length cannot be more than
# 256.
if len(st) > 256:
return False
# Initialize occurrences of all characters
char_set = [False] * 128
# For every character, check if it exists
# in char_set
for i in range(0, len(st)):
# Find ASCII value and check if it
# exists in set.
val = ord(st[i])
if char_set[val]:
return False
char_set[val] = True
return True
# driver code
st = "abcd"
print(isUniqueChars(st))
Complexity Analysis:
- Time Complexity: O(N), where N is the length of the string.
- Auxiliary Space: O(1), no extra space required so it is a constant.
Method #2:Using Built-in Python Functions:
- Count the frequencies of characters using Counter() function
- If the keys in the frequency dictionary(which gives the count of distinct characters) is equal to the length of string then print True else False
Implementation:
Python3
from collections import Counter
def isUniqueChars(string):
# Counting frequency
freq = Counter(string)
if(len(freq) == len(string)):
return True
else:
return False
# driver code
st = "abcd"
print(isUniqueChars(st))
# This code is contributed by vikkycirus
Complexity Analysis:
- Time Complexity: O(N), where N is the length of the string.
- Auxiliary Space: O(26), in total there are 26 letters in alphabet and no extra space required so it is a constant.
Method #3 : Using list() and set() methods
Python3
st = "abcbd"
x=list(set(st))
y=list(st)
x.sort()
y.sort()
if(x==y):
print(True)
else:
print(False)
Time Complexity: O(logn)
Auxiliary Space: O(1)
Method #4: Using for loop and membership operators
Python3
st = "abcbd"
a=""
for i in st:
if i not in a:
a+=i
if(a==st):
print(True)
else:
print(False)
Time Complexity: O(N)
Auxiliary Space: O(N)
Method #5 : Using Operator.countOf() function
Python3
import operator as op
def isUniqueChars(string):
for i in string:
if op.countOf(string, i) > 1:
return False
return True
# driver code
st = "abcd"
print(isUniqueChars(st))
Complexity Analysis:
Time Complexity: O(N), where N is the length of the string.
Auxiliary Space: O(1), no extra space required so it is a constant.
Method #6 : Using count() function
Python3
def isUniqueChars(string):
for i in string:
if string.count(i) > 1:
return False
return True
# driver code
st = "abcd"
print(isUniqueChars(st))
Time Complexity: O(N)
Auxiliary Space: O(1)
Similar Reads
Count the number of Unique Characters in a String in Python We are given a string, and our task is to find the number of unique characters in it. For example, if the string is "hello world", the unique characters are {h, e, l, o, w, r, d}, so the output should be 8.Using setSet in Python is an unordered collection of unique elements automatically removing du
2 min read
Determine if a string has all Unique Characters Given a string, determine if the string has all unique characters. Examples : Input : abcd10jk Output : true Input : hutg9mnd!nk9 Output : false Approach 1 - Brute Force technique: Run 2 loops with variable i and j. Compare str[i] and str[j]. If they become equal at any point, return false. C++ // C
15+ min read
Python | Check if frequencies of all characters of a string are different Given a string S consisting only of lowercase letters, the task is to check if the frequency of all characters of the string is unique. Examples: Input : abaccc Output : Yes âaâ occurs two times, âbâ occurs once and âcâ occurs three times. Input : aabbc Output : No Frequency of both 'a' and 'b' are
3 min read
Check if String Contains Substring in Python This article will cover how to check if a Python string contains another string or a substring in Python. Given two strings, check whether a substring is in the given string. Input: Substring = "geeks" String="geeks for geeks"Output: yesInput: Substring = "geek" String="geeks for geeks"Output: yesEx
8 min read
Quick way to check if all the characters of a string are same Given a string, check if all the characters of the string are the same or not. Examples: Input : s = "geeks"Output : No Input : s = "gggg" Output : Yes Recommended PracticeCheck StringTry It! Simple Way To find whether a string has all the same characters. Traverse the whole string from index 1 and
8 min read