题目
对于两个32位整数a和b,请设计一个算法返回a和b中较大的。但是不能用任何比较判断。若两数相同,返回任意一个。
给定两个整数a和b,请返回较大的数。
测试样例:
1,2
返回:2
思路
计算a−ba−b的值,取得a的符号和b的符号。
代码
class Compare:def flipself, n):return n^1def signself, n):return self.flipn >> 31) & 1)def getMaxself, a, b):# write code herec = a - bsignA = self.signc)signB = self.flipsignA)return a * signA + b * signB