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

题目描述

实现一个算法,确定一个字符串 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九月镇灵将

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值