【力扣精选算法100道】——二进制求和

LCR 002. 二进制求和 - 力扣(LeetCode)

目录

🎈了解题意

🎈算法分析

🚩cur1>=0

🚩cur2>=0

🚩t

🎈实现代码



🎈了解题意

遵循二进制加法法则,如果俩者相加等于2那么就“逢2进1”。如果俩者相加不等于2,那么就还是相加的结果(无非是0+0=0或者0+1=1),如果最高位相加等于2,也依旧逢2进1。


🎈算法分析

  • 1.我们首先再字符串a和字符串b中分别定义一个指标从最后一位开始,然后往前相加。
  • 2.定义t代表相加的结果。因为字符串a和b每个下标对应的元素是char型,我们要相加是int类型,需要将字符转int类型,相加字符串a中的字符更新t,相加字符串b中的字符更新t。
  • 3.如果t>=2的话,那么我们需要将其取模,然后当时的类型是char类型,我们需要char转换成int类型,然后ret就更新了。

字符转数字  char c      int ret=c-'0'

数字转字符  int   c       char ret=c+'0'

那么我们有没有想过循环的结束条件是什么?我们要分三种情况来推断出来。

🚩cur1>=0


🚩cur2>=0


🚩t


🎈实现代码


class Solution {
public:string addBinary(string a, string b) {string ret;int cur1=a.size()-1,cur2=b.size()-1,t=0;while(cur1>=0 || cur2>=0 || t)//因为最后t=1 的时候,虽然cur1和cur2到负数了,t还要加上{if(cur1>=0) t+=a[cur1--]-'0';//字符转数字-if(cur2>=0) t+=b[cur2--]-'0';ret+=t%2+'0';//数字转字符+t/=2;}reverse(ret.begin(),ret.end());return ret;}
};

我走的每一步都要心知肚明。

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

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

相关文章

单通道 6 阶高清视频滤波驱动电路芯片D1675,一款高清视频信号译码、编码的滤波器和缓冲器

1、概述: D1675单电源工作电压为2.5V到5V,是一款高清视频信号译码、编码的滤波器和缓冲器。与使用分立元件的传统设计相比,D1675更能节省PCB 板面积,并降低成本以及提高视频信号性能。D1675集成了一个直流耦合输入缓冲器、一个消除…

一分钟就能搞定发成绩这件事,你信吗?

快节奏的现代教育环境中,每一分钟都显得尤为宝贵。对于老师和家长来说,及时、准确地获取学生的成绩信息是关乎学生学习进度和效果的重要环节。那么,有没有一种方法能在短短一分钟内完成成绩的发布和查询呢?答案是肯定的&#xff0…

OceanBase4.2版本 Docker 体验

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

闲聊电脑(7)常见故障排查

闲聊电脑(7)常见故障排查 夜深人静,万籁俱寂,老郭趴在电脑桌上打盹,桌子上的小黄鸭和桌子旁的冰箱又开始窃窃私语…… 小黄鸭:冰箱大哥,平时遇到电脑故障该咋处理呢? 冰箱&#xf…

linux 查看打开使用了哪些端口

你可以使用 netstat 命令来查看Linux系统中正在使用的端口。例如,要查看所有正在使用的TCP和UDP端口,你可以运行: sudo netstat -tulpn如果你只想查看所有正在使用的TCP端口,你可以运行: sudo netstat -tpln 如果你只…

C#,红黑树(Red-Black Tree)的构造,插入、删除及修复、查找的算法与源代码

1 红黑树(Red-Black Tree) 如果二叉搜索树满足以下红黑属性,则它是红黑树: 每个节点不是红色就是黑色。根是黑色的。每片叶子(无)都是黑色的。如果一个节点是红色的,那么它的两个子节点都是黑色的。对于每个节点,从节点到后代叶的所有路径都包含相同数量的黑色节点。红…

使用yarn创建vite+vue3electron多端运行

文章目录 第一步 使用yarn创建vitevue3项目遇到创建报错看 第二步 引入electron第三步 创建main.js在electron下面的main.js写入下面代码 第四步 安装同时运行多条命令npm包&&修改package.json文件npm包增加一条electron运行脚本命令 效果图 第一步 使用yarn创建vitevu…

关于- bounding box reparameterization

因为detr以及大部分detr的变体都是将box的x,y,w,h映射到[0~1]之间; 这样对于小目标的检测的话就会比较困难,因为损失被大目标主导了, 所以将box的坐标编码为跟长宽占比的数值,具体如图图中描述所示:

SA3D:基于 NeRF 的三维场景分割方法

Paper: Cen J, Zhou Z, Fang J, et al. Segment anything in 3d with nerfs[J]. Advances in Neural Information Processing Systems, 2024, 36. Introduction: https://jumpat.github.io/SA3D/ Code: https://github.com/Jumpat/SegmentAnythingin3D SA3D 是一种用于 NeRF 表…

JAVA实战开源项目:生活废品回收系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案,旨在鼓…

Linux中文件的权限

我们首先需要明白,权限 用户角色 文件的权限属性 一、拥有者、所属组和other(用户角色) 以文件file1为例 第一个箭头所指处即是文件的拥有者,拥有者为zz 第二个箭头所指处即使文件的所属组,所属组为zz 除去拥有者…

Docker 搭建 PaddleOCR

转自PaddleOCR docker模式 - 简书 目的: 公司要放弃第三方的ocr工具(日语),需要自己搭建训练一套,这篇是搭建 图片要标出文字的选取框 因为是日文所以ocr有专门的工具,只需要文字坐标就好如图 日文的账票需要加密一下 我得环境是 Ubuntu 22.04.1 LTS 1,下载代码 cd /hom…

10、Redis分布式系统之数据分区算法

Redis分布式系统之数据分区算法 1、什么是Redis分布式系统 ​ Redis分布式系统,官方称为Redis Cluster, Redis集群(这个集群和前面的主从复制集群不同,这个集群可以理解为是多个主从复制集群所组成的集群),其实是Red…

js手写实现迭代器生成器函数包括【ES5】和【ES6】

/*** JS原生的集合类型数据结构,只有Array(数组)和Object(对象);而ES6中,又新增了Map和Set。* 四种数据结构各自有着自己特别的内部实现,但我们仍期待以同样的一套规则去遍历它们&am…

垃圾清理软件大全免费 磁盘空间不足?注册表不敢乱动怎么办?ccleaner官方下载

在日常的工作中,面对重要文件时往往都会备份一份;在下载文件时,有时也会不小心把一份文件下载好多次。这些情况会导致电脑中出现重复的文件,删除这些重复文件,可以节省电脑空间,帮助提高电脑运行速度。那么…

【C语言】人生重开模拟器

前言: 人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏: 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 (1) 游戏开始的时…

openAI key 与ChatGPTPlus的关系,如何升级ChatGPTPLus

一、前言 先详细介绍一下Plus会员和Open API之间的区别: 实际上,这两者是相互独立的。举例来说,虽然您开通了Plus会员,并不意味着您就可以使用4.0版本的API。尽管这两个账户可以是同一个,但它们是完全独立的平台。 …

C++的一些基础语法

前言: 本篇将结束c的一些基础的语法,方便在以后的博客中出现,后续的一些语法将在涉及到其它的内容需要用到的时候具体展开介绍;其次,我们需要知道c是建立在c的基础上的,所以c的大部分语法都能用在c上。 目…

Matplotlib中的子图:规划绘图的指南和工具

导 读 我最近从事一个项目,需要在 matplotlib 中进行一些微调的子图和叠加。虽然我对制作基本的可视化感到很舒服,但我很快发现我对子图系统的理解没有达到标准。于是回到基础知识,并花了一些时间阅读文档并在 Stack Overflow 上搜索相关示例…

uniapp—day02

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:给自己一个梦想,给世界一个惊喜。 🎅**学习目标: 坚持每一次的学习打卡 文章目录 WXML 和HTML区…