字符串(3)_二进制求和_高精度加法

embedded/2024/10/17 18:52:10/

个人主页:C++忠实粉丝
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创

字符串(3)_二进制求和_高精度加法

收录于专栏【经典算法练习】
本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌
 

目录

1. 题目链接

2. 题目描述

3. 解法

算法思路:

代码展示:


1. 题目链接

OJ链接 : 二进制求和icon-default.png?t=O83Ahttps://blog.csdn.net/wer24_25/article/details/142949685?spm=1001.2014.3001.5502

2. 题目描述

给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。

示例 1:

输入:a = "11", b = "1"
输出:"100"

示例 2:

输入:a = "1010", b = "1011"
输出:"10101"

提示:

  • 1 <= a.length, b.length <= 104
  • a 和 b 仅由字符 '0' 或 '1' 组成
  • 字符串如果不是 "0" ,就不含前导零

3. 解法

算法思路:

模拟十进制的大数相加的过程:

模拟十进制中我们列竖式计算两个数之和的过程, 但是这里是二进制的求和, 我们不是逢十进一, 而是逢二进一. 

代码展示:

class Solution {
public:string addBinary(string a, string b) {string ret;int n1 = a.size() - 1, n2 = b.size() - 1, t = 0;while(n1 >= 0 || n2 >= 0 || t){if(n1 >= 0) t += a[n1--] - '0';if(n2 >= 0) t += b[n2--] - '0';ret += t % 2 + '0';t /= 2;}reverse(ret.begin(), ret.end());return ret;}
};

代码示例: 


http://www.ppmy.cn/embedded/128239.html

相关文章

Application independent protocol

14.3 应用程序选择程序 14.3.1 使用EFDIR文件的应用程序选择 使用EFDIR文件的应用程序选择是终端读取EFDIR文件内容&#xff0c;并向用户展示应用程序列表的过程&#xff0c;用户可以选择一个或多个应用程序进行激活。 终端执行读取EFDIR的操作&#xff0c;并向用户展示它支持的…

Attention Is All You Need论文翻译

论文名称 注意力即是全部 论文地址 https://user.phil.hhu.de/~cwurm/wp-content/uploads/2020/01/7181-attention-is-all-you-need.pdf 摘要 主流的序列转导模型基于复杂的递归或卷积神经网络&#xff0c;这些网络包含编码器和解码器。性能最好的模型通过注意力机制将编码器和…

SpringMVC后台控制端校验-表单验证深度分析与实战优化

前言 在实战开发中&#xff0c;数据校验也是十分重要的环节之一&#xff0c;数据校验大体分为三部分&#xff1a; 前端校验后端校验数据库校验 本文讲解如何在后端控制端进行表单校验的工作 案例实现 在进行项目开发的时候,前端(jquery-validate),后端,数据库都要进行相关的数据…

LabVIEW提高开发效率技巧----事件触发模式

事件触发模式在LabVIEW开发中是一种常见且有效的编程方法&#xff0c;适用于需要动态响应外部或内部信号的场景。通过事件结构&#xff08;Event Structure&#xff09;和用户自定义事件&#xff08;User Events&#xff09;&#xff0c;开发者可以设计出高效的事件驱动程序&am…

信息学交互题的写法和注意事项总结

信息学交互题的写法和注意事项总结&#xff1a; 1. 题目分析 交互题要求选手与“裁判”进行多次输入输出的交互&#xff0c;通常以多轮交互实现问题的解决。题目的核心在于&#xff1a;如何通过“询问”或“操作”逐步推导出答案或实现目标。 2. 写法要点 输入输出模式&…

DS树与二叉树(8)

文章目录 前言一、树树的概念树的相关概念树的存储树的实际运用 二、二叉树二叉树的概念现实中的二叉树特殊的二叉树二叉树的性质二叉树的存储结构顺序存储链式结构 二叉树的意义 三、二叉树的相关习题总结 前言 脱离了线性表后&#xff0c;我们又迎来了新的篇   正文开始&am…

SeaTunnel 本地部署

SeaTunnel简介&#xff1a;Apache SeaTunnel 介绍-CSDN博客 部署 准备工作​ 在开始本地运行前&#xff0c;您需要确保您已经安装了SeaTunnel所需要的以下软件&#xff1a; 安装Java (Java 8 或 11&#xff0c; 其他高于Java 8的版本理论上也可以工作) 以及设置 JAVA_HOME。…

小猿口算炸鱼脚本

目录 写在前面&#xff1a; 一、关于小猿口算&#xff1a; 二、代码逻辑 1.数字识别 2.答题部分 三、代码分享&#xff1a; 补充&#xff1a;软件包下载 写在前面&#xff1a; 最近小猿口算已经被不少大学生攻占&#xff0c;小学生直呼有挂。原本是以为大学生都打着本…