给定int a和intb,在不使用if-else等比较和判断运算符的情况下返回较大的那个数。若两数相同则返回任意一个。
测试样例:
1,2
返回:2
# -*- coding:utf-8 -*- class Max: def getMax(self, a, b): # (a - b) >> 31 为 0, 说明 a - b 最高位为0,即a >=b # (a - b) >> 31 为 -1, 说明 a - b 最高位为1, 即 a < b return {0:a,-1:b}[(a-b)>>31]