难度:⭐
题目描述:
编写一个方法,找出两个数字a
和b
中最大的那一个。不得使用if-else或其他比较运算符。
示例:
1 | 输入: a = 1, b = 2 |
解题过程:
思路:
使用三目运算符,不知道可以吗?
c++代码:(执行用时0ms,击败100.00%,内存消耗6.2M,击败6.42%)
1 | class Solution { |
总结:
没有官方题解,题目要求不能使用比较运算符,三目运算符中也包含比较了,应该也是不满足题意的。通过看题解,总结如下:
返回两个数的最大值,两种情况:
- $a>b$,那么返回$\frac{a+b+a-b}{2}$
- $a<b$,那么返回$\frac{b+a+b-a}{2}$
两种情况综合一下就是要返回$\frac{a+b+|a-b|}{2}$
nice😊,注意a、b要强制转换成long进行计算,否则会溢出。