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++)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode面试题 16.07. 最大数值(C++)

面试题 16.07. 最大数值思维

面试题 16.07. 最大数值

leetcode-65-面试题20-表示数值的字符串

LeetCode面试题16. 数值的整数次方

LeetCode面试题16. 数值的整数次方