LeetCode面试题 16.07. 最大数值(C++)
Posted 敲代码两年半的练习生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode面试题 16.07. 最大数值(C++)相关的知识,希望对你有一定的参考价值。
1 题目描述
编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。
2 示例描述
输入: a = 1, b = 2
输出: 2
3 解题思路
借鉴了一下题解里面大佬的,这里用到了数学公式 MAX(a,b) = (|a-b| + a + b) / 2 。但是还是觉得这个是违规的,因为abs用到了比较运算。
4 代码详解
class Solution {
public:
int maximum(int a, int b) {
long long A = a ;
long long B = b ;
return (int)(( fabs(A - B) + A + B ) / 2) ;
}
};
以上是关于LeetCode面试题 16.07. 最大数值(C++)的主要内容,如果未能解决你的问题,请参考以下文章