算法题一:判定字符是否唯一

题目描述

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
输入: s = “12234”
输出: false
输入: s = “1234”
输出: true

题解

  1. 使用set的元素唯一特性实现
return len(astr) == len(set(list(astr)))
  1. 循环字符串写入list判断
uniq = list()  
fori in astr:
    if i in uniq:
        return False
    uniq.append(i)

return True

3.不使用数据结果,使用双循环

for i in range(len(astr) - 1):
   for j in range(i+1, len(astr)):
       if astr[i] == astr[j]:
           return False
return True
  1. 位运算
mark = 0

forchar in astr:
    _char = ord(char) - ord('a')
    if mark & (1 << _char) != 0:
        return False
    
    mark |= (1 << _char)
    print(mark)
return True
posted @ 2021-09-17 21:02  七夜魔手  阅读(3)  评论(0编辑  收藏  举报  来源