实现一个算法,确定一个字符串的所有字符是否全都不同?
解法
构建一个布尔值的数组,索引值i对应的标记指示该字符串是否含有字母表第i个字符。若这个字符第二次出险,则立即返回False。
Python算法实现
def is_unique_chars(s):
'''判断每个字符是否唯一'''
n = len(s)
A = [False] * 256
for i in range(n):
pos = ord(s[i]) # 用来将字符转化成ASCII码
if pos > 256 : return False #不在ASCII码范围内
if A[pos] :
return False
A[pos] = True
return True
代码测试
s = "helloworld"
print(is_unique_chars(s)) # 返回False
s = "louisdream"
print(is_unique_chars(s)) # 返回True