从零学算法371

371.给你两个整数 a 和 b ,不使用 运算符 + 和 - ​​​​​​​,计算并返回两整数之和。
示例 1:
输入:a = 1, b = 2
输出:3
示例 2:
输入:a = 2, b = 3
输出:5
提示:
-1000 <= a, b <= 1000

  • 位运算肯定是第一想到的了,两数进行异或运算时,我们可以先得到不进位的和,比如 6+5 转为二进制运算为 0110 + 0101=1011,当他们进行异或会得到 0011,只得到了不进位的部分,因为原本应该为 0211,然后满 2 进 1 得到 1011。 而当他们进行与运算,我们就得到了进位的部分 0100,这个 1 是要进位的,即它实际上应该为 0100 << 1 = 1000,两部分相加其实和不变,即 0110 + 0101 = 0011 + 1000
  • 随着每一轮计算一次进位,当所有位的进位的计算完毕,进位的部分最终会为 0,以此作为递归出口即可。
  •   public int getSum(int a, int b) {if(b==0)return a;return getSum(a^b, (b&a)<<1);}
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全之安全事件监测

随着人们对技术和智能互联网设备依赖程度的提高&#xff0c;网络安全的重要性也在不断提升。因此&#xff0c;我们需要不断加强网络安全意识和措施&#xff0c;确保网络环境的安全和稳定。 网络安全的重要性包含以下几点&#xff1a; 1、保护数据安全&#xff1a;数据是组织和…

【Web安全靶场】sqli-labs-master 1-20 BASIC-Injection

sqli-labs-master 1-20 BASIC-Injection 文章目录 sqli-labs-master 1-20 BASIC-Injection第一关-报错注入第二关-报错注入第三关-报错注入第四关-报错注入第五关-报错注入-双查询注入第六关-报错注入-双查询注入第七关-outfile写入webshell第八关-布尔盲注第九关-时间盲注第十…

【UE 材质】水晶材质

效果 步骤 1. 先在Quixel Bridge上下载冰纹理 2. 新建一个材质&#xff0c;这里命名为“M_Ice”并打开&#xff0c;添加如下纹理采样节点 继续添加如下节点 此时效果如下&#xff1a; 可以看到此时的材质颜色比较浅&#xff0c;如果希望颜色深一点可以继续添加如下节点 此时效…

React引入css的几种方式以及应用

1.直接引入css文件 import "./parent.css" 2.引入css模块&#xff0c;定义文件名[组件名.module.css]&#xff1b;该方式可避免类名的重复&#xff0c;每个组件都有独立的作用域&#xff0c;避免了全局污染&#xff0c;保证了类名的唯一性 import styles from &qu…

lv21 QT对话框3

1 内置对话框 标准对话框样式 内置对话框基类 QColorDialog, QErrorMessage QFileDialog QFontDialog QInputDialog QMessageBox QProgressDialogQDialog Class帮助文档 示例&#xff1a;各按钮激发对话框实现基类提供的各效果 第一步&#xff1a;实现组件布局&…

编程笔记 html5cssjs 090 JavaScript 文档对象模型

编程笔记 html5&css&js 090 JavaScript 文档对象模型 一、文档对象模型二、Javascript编程中文档对象的组成DOM 的主要组件&#xff1a;事件&#xff08;Events&#xff09;属性&#xff08;Properties&#xff09;方法&#xff08;Methods&#xff09; 三、编程应用四…

gprMax3.0随机介质建模

此处利用gprMax建立随机介质模型,采用matlab生成随机数组,保存为HDF5文件,此处为全代码,无需修改即可运行。在gprMax输入文件中使用#geometry_objects_read:读入自定义的随机模型 此文参考其他博主的自定义几何形状模块gprMax3.0建模时如何自定义目标的几何形状_#geomet…

為什麼使用海外動態代理IP進行網路爬蟲?

網路爬蟲作為獲取網路數據的重要工具&#xff0c;其重要性不言而喻。但隨著網站反爬策略的日益嚴格&#xff0c;爬蟲任務變得愈發困難&#xff0c;不過海外動態代理IP可以很好地解決這一問題。本文將詳細闡釋動態代理IP在爬蟲中的應用&#xff0c;以及如何使用動態代理IP提升爬…

深入理解ngx_http_proxy_connect_module模块(下)

目录 5. 源码分析5.1 模块的初始化代码5.2 请求入口点函数分析5.2.1 ngx_http_proxy_connect_post_read_handler5.2.2 ngx_http_proxy_connect_handler5.3 域名解析回调5.4 向上游服务器发起连接5.4.1 ngx_http_proxy_connect_process_connect5.4.2 ngx_http_proxy_connect_wri…

欧盟发布关于网络安全、通信网络弹性的综合风险评估报告:具有战略意义的十大网络安全风险场景

在欧盟委员会和欧盟网络安全局 ENISA 的支持下&#xff0c;欧盟成员国近日发布了一份报告&#xff0c;详细介绍了欧洲通信基础设施和网络的网络安全和弹性。 该报告概述了对欧盟具有战略意义的十种风险情景。 1、 擦除器/勒索软件攻击 2、 供应链攻击 3、 攻击托管服务、托…

HarmonyOS—使用数据模型和连接器

Serverless低代码开发平台是一个可视化的平台&#xff0c; 打通了HarmonyOS云侧与端侧能力&#xff0c;能够轻松实现HMS Core、AGC Serverless能力调用。其中&#xff0c;数据模型和连接器是两大主要元素。开发者在使用DevEco Studio的低代码功能进行开发时&#xff0c;可以使用…

Redis有哪些原子命令?

SET key value [NX|XX]&#xff1a;将键key设置为指定的字符串value&#xff0c;如果键不存在&#xff0c;则创建&#xff0c;如果键已经存在&#xff0c;则覆盖原有值。可选参数NX表示仅在键不存在时设置值&#xff0c;XX表示仅在键已存在时设置值。 GETSET key value&#x…

给生成出来的a链接或其他dom节点添加点击事件

onMounted(() > {nextTick(() > {const domNodes document.querySelectorAll(a)console.log(domNodes)domNodes.forEach((item, index) > {item.addEventListener(click, async () > {// 点击文章后进行统计console.log(点击了节点&#xff01;, index)})})}) })q…

npm install的-S和-D的区别

在npm install参数中&#xff0c;-S代表 --save&#xff0c;-D标志--save-dev。 1、-S (--save) 用于将包添加到项目的 dependencies&#xff0c;表示这是在生产环境中运行时所需的依赖。例如&#xff1a;npm install package-name -S&#xff0c;这将把 package-name 添加到 …

express+mysql+vue,从零搭建一个商城管理系统5--用户注册

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、新建user表二、安装bcryptjs、MD5、body-parser三、修改config/db.js四、新建config/bcrypt.js五、新建models文件夹和models/user.js五、index.js引入使用body-parser六、修改routes/user.js七、启动项…

书生·浦语大模型全链路开源体系介绍

背景介绍 随着人工智能技术的迅猛发展&#xff0c;大模型技术已成为当今人工智能领域的热门话题。2022 年 11 月 30 日&#xff0c;美国 OpenAI 公司发布了 ChatGPT 通用型对话系统 并引发了全球 的极大关注&#xff0c;上线仅 60 天月活用户数便超过 1 亿&#xff0c;成为历史…

淘宝问大家植入广告

随着电子商务的迅猛发展&#xff0c;各大电商平台都在努力提升用户体验&#xff0c;打造更加互动和有趣的购物环境。淘宝作为中国最大的电商平台之一&#xff0c;其“问大家”功能作为社区互动的重要一环&#xff0c;不仅为买家提供了提问和分享经验的平台&#xff0c;也成为卖…

【实践总结】文件上传可能导致的DoS

通过CVE-2023-24998了解上传的可能隐患 Apache Commons FileUpload场景 条件1&#xff1a; &#xff08;影响版本&#xff09; <!-- Apache Commons FileUpload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-file…

【小沐学QT】QT学习之OpenGL开发笔记

文章目录 1、简介2、Qt QOpenGLWidget gl函数3、Qt QOpenGLWidget qt函数4、Qt QOpenGLWindow5、Qt glut6、Qt glfw结语 1、简介 Qt提供了与OpenGL实现集成的支持&#xff0c;使开发人员有机会在更传统的用户界面的同时显示硬件加速的3D图形。 Qt有两种主要的UI开发方…

【Azure 架构师学习笔记】-Azure Synapse -- Link for SQL 实时数据加载

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Synapse】系列。 前言 Azure Synapse Link for SQL 可以提供从SQL Server或者Azure SQL中接近实时的数据加载。通过这个技术&#xff0c;使用SQL Server/Azure SQL中的新数据能够几乎实时地传送到Synapse&#xff08;…