题解 | 无判断max
无判断max
https://www.nowcoder.com/practice/b0a82250677a4fabb0bc41053fa05013
# -*- coding:utf-8 -*-
class Max:
def getMax(self, a, b):
# write code here
# 计算差值
diff = a - b
# 获取diff的符号位(正数或0为0,负数为1)
# 右移31位得到符号位,再与1取与,确保得到0或1
sign = (diff >> 31) & 1
# 如果diff>=0,sign=0,返回a
# 如果diff<0,sign=1,返回b
return a * (1 - sign) + b * sign
