编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。
示例: 输入: a = 1, b = 2 输出: 2
class Solution { public: int maximum(int a, int b) { long a_b = long(a)-b; int pn = ((a_b)>>63)&1;//符号位,1为负,0为正 return b*pn + a*(1^pn); } };
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!