leetcode上有道面试题:判断字符是否唯一
其中有一个答案是利用位运算符解决
class Solution:
def isUnique(self, astr: str) -> bool:
t = 0
for c in astr:
if t & (p := 1 << (ord(c) - 97)):
return False
t |= p
return True
作者:tuotuoli
链接:https://leetcode-cn.com/problems/is-unique-lcci/solution/mian-shi-ti-0101-pan-ding-zi-fu-shi-fou-wei-yi-ji-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
:= 是海象运算符,可在表达式内部为变量赋值
比如原来
if (len(n) == len(a)) > 10:
需要调用len函数两次
但是使用海象运算符以后只需要调用一次
if (n := len(a)) > 10:
|= 表示异或,即相同为F,不同为T
r s r|=s
--------------
T T T
T F T
F T T
F F F
Python海象运算符在位运算中的应用

本文通过一道LeetCode面试题介绍如何利用Python的海象运算符(:=)来优化代码,特别是在位运算符场景下。通过示例解释了如何使用位运算符'|='(异或)判断字符是否唯一,展示了海象运算符如何减少函数调用次数,提高效率。
1324

被折叠的 条评论
为什么被折叠?



