【位运算】leetcode371:两整数之和

news2024/11/24 19:34:05

一.题目描述

两整数之和

二.思路分析

题目要求我们实现两整数相加,但是不能使用加号,应该立马想到是用位运算来解决问题。之前说过,异或就是“无进位相加”,故本题可以先将两数异或,然后想办法让得到的结果进位即可。

如何进位呢?我们知道,任意一个比特位相加只有3中情况:0+0,1+1,0+1,其中只有1+1时需要进位。而按位与的特点是有0则0,故我们可以用a&b,结果是1的比特位就是需要进位的。但进位是要进到它的下一位

故最终结果为(a ^ b) + ((a & b) << 1)但题目禁止我们使用加号,怎么使这两部分相加呢?题目本身就让我们实现加法呀,重复以上的逻辑不就行了,所以这是一个循环的过程。循环什么时候结束呢?当不需要进位,即(a & b) << 1 == 0时就不需要加了,循环结束。

下面用13+28=41来举例

三.代码实现

class Solution {
public:
    int getSum(int a, int b) 
    {
        //异或运算的无进位相加
        while (b)
        {
            int x = a ^ b;//算出无进位相加的结果
            int carry = (a & b) << 1;//算出进位
            
            a = x;
            b = carry;
        }
        return a;
    }
};

 

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

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

相关文章

yolov5自定义模型训练三

经过11个小时cpu训练完如下 在runs/train/expx里存放训练的结果&#xff0c; 测试是否可以检测ok 网上找的这张识别效果不是很好&#xff0c;通过加大训练次数和数据集的话精度可以提升。 训练后的权重也可以用视频源来识别&#xff0c; python detect.py --source 0 # webca…

WOFOST模型与PCSE模型技术应用

实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单&#xff0c;数据容易获取&#xff0c;但是作物生长发育非常复杂&#xff0c;中间涉及众多生理生化过程&#…

Ansible-playbook条件语句when的使用

目录 when关键字1.基本使用2.比较运算符3.逻辑运算符4.判断变量 when关键字 1.基本使用 当ansible_os_family是redhat的时候&#xff0c;执行安装vim&#xff0c;不是的话跳过 --- - hosts: webtasks:- name: Install VIM via yumyum:name: vim-enhancedstate: installedwhe…

mac安装brew

mac安装brew 安装brew 安装brew 第一步&#xff1a;执行. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"第二步&#xff1a;输入开机密码 第三步&#xff1a;回车继续。等待安装完成 第四步&#xff1a;根…

最新盘点!上海值得加入的互联网公司有哪些?(文末附招聘岗位)

暑假结束了&#xff0c;除了迎来了青春热烈的开学季以外&#xff0c;也带来了打工人备受期待的金九银十秋招季。 我们在找工作时&#xff0c;每个人都期待能遇到一个“神仙公司”&#xff0c;譬如丰厚的薪水、优越的晋升通道、融洽的同事关系、良好的work-life balance以及自由…

KubeSphere 社区双周报 | KubeKey 新增网络插件 Hybridnet | 2023.08.18-08.31

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.08.18-2023.…

Stable Diffusion中的ControlNet插件

文章目录 ControlNet的介绍及安装ControlNet的介绍ControlNet的安装 ControlNet的功能介绍ControlNet的应用与演示 ControlNet的介绍及安装 ControlNet的介绍 ControlNet 的中文就是控制网&#xff0c;本质上是Stable Diffusion的一个扩展插件&#xff0c;在2023年2月份由斯坦…

红米手机使用google play

开启&#xff1a; 1.在 Google Play 支持的设备列表内的小米/红米手机已预装谷歌服务&#xff0c;我们只需要安装Play 商店。 1.开启谷歌服务: 设置 -> 帐号与同步 > 谷歌基础服务 2.安装 Play 商店: 在应用商店搜索 [google play] &#xff0c;安装[Google Play 商店] …

NPM 常用命令(一)

目录 1、npm 1.1 简介 1.2 依赖性 1.3 安装方式 2、npm access 2.1 命令描述 2.2 详情 3、npm adduser 3.1 描述 4、npm audit 4.1 简介 4.2 审计签名 4.3 操作示例 4.4 配置 audit-level dry-run force json package-lock-only omit foreground-scripts …

更改SVG矢量图片的颜色

问题:我从网上找的svg图片,颜色一直是黑色的,和下边的用户管理模块、卷题管理等模块的图标对不起来,看起来很怪。 办法: 1.直接在你的编程软件中 ctrl + alt +F,全局搜索“组织管理” 找到组织管理对应的文件,然后双击点进去 2.找到icon 这里对应的icon的属性值就是矢…

代理IP的需求量为什么越来越大?如何选择适合您的全球代理IP?

在当今信息爆炸的时代&#xff0c;代理IP已成为大数据领域一项必不可少的工具。越来越多的企业和个人使用代理IP来进行互联网业务&#xff0c;这导致代理IP的需求量不断增加。这是因为代理IP不仅可以帮助用户进行网络爬虫和数据采集&#xff0c;还能够保护个人隐私和网络安全&a…

如何产生潜在客户:增加公司的销售额

图片来源于&#xff1a;SaleSmartly官网 数字营销拥有大量资源可以帮助您增加业务收入。您可以实施多种有关如何产生潜在客户的策略。这是买家旅程中的重要一步&#xff0c;您可以识别潜在客户并定义需要做什么来帮助他们决定购买您的产品或服务。 毫无疑问&#xff0c;征服潜在…

uniapp授权小程序隐私弹窗效果demo(整理)

<template> <view class"dealBox"><view class"txtBox padding10"><!-- 查看协议 -->在您使用施工现场五星计划小程序之前&#xff0c;请仔细阅读<text class"goToPrivacy" click"handleOpenPrivacyContract&qu…

常用激活函数整理

最近一边应付工作&#xff0c;一边在补足人工智能的一些基础知识&#xff0c;这个方向虽然新兴&#xff0c;但已是卷帙浩繁&#xff0c;有时不知从何入手&#xff0c;幸亏有个适合基础薄弱的人士学习的网站&#xff0c;每天学习一点&#xff0c;积跬步以至千里吧。有像我一样学…

产品经理进行用户分层 常见的4大方法

用户分层对产品开发非常重要&#xff0c;通过对用户进行分层&#xff0c;我们可以更好地理解不同用户群体的需求、行为和偏好&#xff0c;从而更精准定位和设计产品&#xff0c;有利于提高市场竞争力。 如果不进行用户分层可能导致产品经理不了解用户需求&#xff0c;无法提供个…

ODrive解析移植(一)—— 国产替代方案(VScode版移植)

目录 一、ODrive简介1.1、 github下载 二、ODrive官方版本的问题三、国产化方案3.1、版本0.5.1与0.5.6的区别3.2、移植说明3.2.0、修改“tup.config.default”文件名为“tup.config”&#xff0c;打开屏蔽“v3.6-56V”&#xff0c;3.2.1、修改死区时间&#xff0c;3.2.2、修改采…

2023年您需要虚拟助手的 5个迹象

您的企业今年有以收入为中心的战略目标要实现。然而&#xff0c;新的增长往往伴随着您现有员工的新责任。工作负载增加。团队达到最大容量。超负荷的员工表现出倦怠的迹象。在这些时候&#xff0c;企业主通常会意识到雇用虚拟助理 &#xff08;VA&#xff09; 提供支持的好处。…

服务器上使用screen的学习记录

服务器上使用screen 训练模型的时候&#xff0c;花费时间是很长的&#xff0c;不可能一直挂在桌面上。所以就想到用screen了。 记录一下简单的操作指令。 创建screen screen -S roof # 新建一个名字为name的窗口&#xff0c;并进入到该窗口中进入后打开环境&#xff0c;运…

一套成熟在用的Spring Cloud工程项目数字化管理云平台源码

技术架构&#xff1a; 微服务JavaSpring Cloud VueUniApp MySql 开发语言&#xff1a;Java 开发工具&#xff1a;Idea 前端框架&#xff1a;Vue 后端框架&#xff1a;Spring Cloud 数 据 库&#xff1a;MySql 移 动 端&#xff1a;UniApp 系统端口&#xff1a;PC端&…

虚引用真的不影响对象的生命周期吗?99%的人都错了

Java的四大引用&#xff0c;大家都很熟悉吧&#xff1a; 强应用&#xff1a;正常代码中的引用。一个对象能通过强应用访问到&#xff0c;那它就永远不会被回收软引用&#xff1a;比强引用弱一级的引用&#xff0c;内存不足时引用指向的对象会被回收弱引用&#xff1a;比软引用…