package
0.0.0-20230809123828-b071cee2968a
Repository: https://github.com/codehanhan/leetcode-go.git
Documentation: pkg.go.dev
# README
面试题 16.07.最大数值
1. 题目描述
编写一个方法,找出两个数字 a
和 b
中最大的那一个。不得使用if-else或其他比较运算符。
示例:
输入: a = 1, b = 2
输出: 2
标签
位运算
脑筋急转弯
数学
2. 解题
对于算式a * k + b * (k ^ 1)
,若当a>b
时k=1, 可返回a,当a<b
时k=0,可返回b
那么如何获得k?
负数的二进制表示最高位为1,若取k = (b-a)>>63 & 0x1, 则可获取k