无判断max 牛客网  程序员面试金典 C++ Python

  • 题目描述

  • 请编写一个方法,找出两个数字中最大的那个。条件是不得使用if-else等比较和判断运算符。

  • 给定两个int a和b,请返回较大的一个数。若两数相同则返回任意一个。

  • 测试样例:

  • 1,2

  • 返回:2

C++

class Max {
public:
//run:5ms memory:472k
int getMax(int a, int b) {
b = a-b;//此时b>>31为1则b小于0即a<b,若b>>31为0 则a>b
a -= b&(b>>31); //若a<b a=a-(a-b),若a>b a=a-0
return a;
}
};

Python

class Max:
#run:40ms memory:5688k
def getMax(self, a, b):
b = a - b
a -= b&(b>>31)
return a

最新文章

  1. RapidJSON 代码剖析(三):Unicode 的编码与解码
  2. x-requested-with 请求头 区分ajax请求还是普通请求(转)
  3. 手把手教你用python打造网易公开课视频下载软件1-总述
  4. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转
  5. 【leetcode】plus One
  6. JavaScript 语句
  7. AngularJS学习--- AngularJS中的模板template和迭代器过滤filter step2 step3
  8. linux添加somebody到组
  9. Spring AOP执行方法
  10. C#引用Office.word出错的解决办法-无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass” 【转】
  11. ResponseBody的使用
  12. Hibernate的集合映射(Set、List、Array、Map、Bag)
  13. 表达式求值 (栈) 用C++实现
  14. python笔记之中缀语法和管道实现
  15. VBoxGuestAdditions.iso下载
  16. 测试人员如何使用Git部署测试环境
  17. java基础(五)-----关键字static
  18. java @Service 引入什么包
  19. C#之值类型和引用类型
  20. 学以致用十八-----shell脚本之基础概念及变量

热门文章

  1. 【PHP数据结构】散列表查找
  2. Windows系统如何找到占用端口的进程并杀掉
  3. spring入门1-IOC和DI
  4. PHP-设计模式之-中介者模式
  5. django中csrf_token处理方式
  6. django 模版-标签-视图-csrf-token-模版继承-HTML过滤器
  7. 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 百篇博客分析OpenHarmony源码 | v23.02
  8. K8ssandra入门-详细记录在Linux上部署K8ssandra到Kubernetes
  9. InstallSheild相关
  10. Java初步学习——2021.09.24每日总结,第三周周五