简单
给你两个整数 a 和 b。
设 s1 和 s2 分别为 a 和 b 的二进制表示中置位的数量。
这两个整数的得分定义如下:
- 如果
s1 >= s2,则得分为s1 * s2。 - 否则,得分为
s2 / s1,其中除法采用整数除法。
返回一个整数,表示 a 和 b 的得分。
置位是指数的二进制表示中值为 1 的位。
示例 1:
输入: a = 14, b = 6
输出: 6
解释:
a = 14的二进制表示为"1110",因此s1 = 3。b = 6的二进制表示为"110",因此s2 = 2。- 由于
s1 > s2,a和b的得分为s1 * s2 = 3 * 2 = 6。
示例 2:
输入: a = 5, b = 15
输出: 2
解释:
a = 5的二进制表示为"101",因此s1 = 2。b = 15的二进制表示为"1111",因此s2 = 4。- 由于
s1 < s2,a和b的得分为s2 / s1 = 4 / 2 = 2。
示例 3:
输入: a = 10, b = 12
输出: 4
解释:
a = 10的二进制表示为"1010",因此s1 = 2。b = 12的二进制表示为"1100",因此s2 = 2。- 由于
s1 == s2,a和b的得分为s1 * s2 = 2 * 2 = 4。
提示:
1 <= a, b <= 100