nowcoder 比较

题目

对于两个32位整数a和b,请设计一个算法返回a和b中较大的。但是不能用任何比较判断。若两数相同,返回任意一个。
给定两个整数a和b,请返回较大的数。
测试样例:
1,2
返回:2

思路

计算aba−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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注