leetcode:67二进制求和

题目链接:67. 二进制求和 - 力扣(LeetCode)

class Solution {
public:string addBinary(string a, string b) {int stralen = a.size(), strblen = b.size();int curtc;int Maxlen = max(stralen, strblen);vector<int> stra;vector<int> strb;vector<int> strc;string ss1;for(int i = 0; i < a.size(); i++){int curta = a[i] - '0';stra.push_back(curta);}for(int i = 0; i < b.size(); i++){int curtb = b[i] - '0';strb.push_back(curtb);}if(stralen < strblen){int difference = strblen - stralen;for(int i = 0; i < difference; i++){stra.insert(stra.begin(), 0);}}if(stralen > strblen){int difference = stralen - strblen;for(int i = 0; i < difference; i++){strb.insert(strb.begin(), 0);}}for(int i = Maxlen - 1; i >= 1; i--){int curt = stra[i] + strb[i];if(curt > 1){curtc = stra[i] + strb[i] - 2;stra[i - 1]++;strc.push_back(curtc);}if(curt == 1){strc.push_back(1);}if(curt == 0){strc.push_back(0);}}if(stra[0] + strb[0] > 1){curtc = stra[0] + strb[0] - 2;strc.push_back(curtc);strc.push_back(1);}if(stra[0] + strb[0] == 1){strc.push_back(1);}if(stra[0] + strb[0] == 0){strc.push_back(0);}for(int i = 0; i < strc.size(); i++){ss1 += strc[i] + '0';}reverse(ss1.begin(), ss1.end());return ss1;}
};

这个题目算作中档题。这个题目实际上我把字符串转成每一个相应的数字了,然后从后往前遍历两个数组的每一位和,大于1在判断是2还是3,这个代码适用于二进制求和,要是其他进制求和,还得另外编写代码。

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

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

相关文章

Python 学习flask创建项目

1、使用pycharm创建flask项目 2、运行访问地址 3、可以看到访问地址内容 4、可以增加路由&#xff0c;尝试访问获取参数

2024年的高考人工智能,你能把握住么?还能卷么?

背景&#xff1a; 随着国家针对人工智能出台的政策越来越多了&#xff0c;很多国企也纷纷进入了该行业进行了布局&#xff0c;就连2024这次的高考的语文作文都是人工智能。 高考作文&#xff1a;新课标I卷 阅读下面的材料&#xff0c;根据要求写作。&#xff08;60分&#xf…

【教程】在Linux系统上安装Docker和Docker Compose

介绍 Docker是一个开源的引擎&#xff0c;可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker Compose是在使用Docker容器部署分布式应用时的工具&#xff0c;可以定义哪个容器运行哪个应用。使用Compose&#xff0c;你只需定义一个多容器应用的yml文件…

探讨如何实现数据同步的架构和网络协议

一、背景 (一)当前为了后端网络程序的高并发和高可用&#xff0c;总是需要多台服务器一起协调工作&#xff0c;它们可能负责不同的模块(属于分布式)&#xff0c;也可能多台提供相同的功能(属于集群)。 (二)为了解决读写分离的主从架构的数据库同步问题&#xff0c;需要数据库…

智能电网与微电网:引领电力未来的创新力量

随着能源需求持续增长和环保压力日益加大&#xff0c;电力行业正面临前所未有的挑战与机遇。在这一背景下&#xff0c;智能电网和微电网作为新兴的技术应用方向&#xff0c;以其独特的优势和潜力&#xff0c;正逐步成为推动电力领域可持续发展的关键力量。 智能电网&#xff0…

leetcode387:字符串中的第一个唯一字符

题目链接&#xff1a;387. 字符串中的第一个唯一字符 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int firstUniqChar(string s) {unordered_map<char, int> mapch;for(auto c : s){mapch[c];}for(int i 0; i < s.size(); i){if(mapch[s[i]] …

【java问答小知识6】一些Java基础的知识,用于想学习Java的小伙伴们建立一些简单的认知以及已经有经验的小伙伴的复习知识点

请解释Java中的双亲委派模型是什么&#xff1f; 回答&#xff1a;双亲委派模型是Java类加载机制的核心原则&#xff0c;它确保所有类加载器在尝试加载一个类之前&#xff0c;都会委托给它的父类加载器。 Java中的类路径&#xff08;Classpath&#xff09;是什么&#xff1f; 回…

2024.6.10 刷题总结

2024.6.10 **每日一题** 881.救生艇&#xff0c;依据题意可以看出这道题是一道贪心的题目&#xff0c;即越多地安排两个人坐一艘船更好&#xff0c;所以我们想到每次都用最小和最大的组合&#xff0c;判断是否能够合并&#xff0c;故需要先进行排序&#xff0c;然后利用双指针…

svnadmin备份和还原

背景 客户操作系统重启文件损坏&#xff0c;操作系统无法重启&#xff0c;只能恢复到之前的快照。恢复快照导致最近操作的数据丢失&#xff0c;需要进行恢复。 客户的IT任务已经把SVN数据所在盘挂到新操作系统F盘&#xff0c;试用svnadmin dump/load命令进行备份和恢复。 当…

使用 AWK 为特定行添加编号并打印

在数据处理和文件操作中&#xff0c;经常需要根据特定规则处理文本文件。在这篇博文中&#xff0c;我们将展示如何使用 AWK 这一强大的文本处理工具&#xff0c;为不以字母 A、B、C、D 开头的行添加编号并打印&#xff0c;而直接打印以这些字母开头的行。 为什么选择 AWK&…

【车载开发系列】MCU选型

【车载开发系列】MCU选型 【车载开发系列】MCU选型 【车载开发系列】MCU选型一. 重要概念二. MCU选型的风险风险1风险2 三. MCU选型要点四. MCU选型维度五. MCU 选型需要考虑的因素1&#xff09;ROM/RAM2&#xff09;速度/主频3&#xff09;分析外设需求4&#xff09;工作电压(…

设计模式- 责任链模式(行为型)

责任链模式 责任链模式是一种行为模式&#xff0c;它为请求创建一个接收者对象的链&#xff0c;解耦了请求的发送者和接收者。责任链模式将多个处理器串联起来形成一条处理请求的链。 图解 角色 抽象处理者&#xff1a; 一个处理请求的接口&#xff0c;可以通过设置返回值的方…

codesys【CAN总线】

1下载设备描述文件&#xff1a; 必须下载设备描述文件&#xff0c;要不然编程软件无法正确组态。 根据实际设备【品牌】去官网搜索下载。 以 DMA882-CAN 为例 CAN的设备描述文件是【.eds】的扩展名 安装设备描述文件。 2添加CAN总线&#xff1a; 1添加【CAN总线】&#xff1a…

同盾中文点选验证码识别方法

中文验证码一直是识别的难题&#xff0c;首先他分类的种类很多&#xff0c;常见中文都有3500个&#xff0c;而且一般中文验证码都会有变形&#xff0c;导致每一个文字都需要大量训练样本。假设每一个汉字样本需要100个&#xff0c;100350035万个样本&#xff0c;所以标记的样本…

excel拖拽怎么使单元格序号不递增

拖拽下来不仅不递增&#xff0c;而且右下角没有倒三角可以设置改变&#xff0c;&#xff08;即没有下图这个&#xff09; 则&#xff0c;可以采用以下方法 excel数值拖拽不递增还有一个更快更快捷的方法&#xff0c;这就运用到了excel快捷键&#xff0c;我们把鼠标放到单元格的…

C/C++|Pimpl Idiom(Pointer to IMPLementation) 指针实现模式浅析

Pimpl Idiom&#xff08;Pointer to IMPLementation&#xff09;&#xff0c;也称为 “Opaque Pointer”&#xff08;不透明指针&#xff09;或 “Cheshire Cat”&#xff08;柴郡猫&#xff09;模式或者"指针实现模式"和"实现隐藏模式"。这种模式通过将类…

模板字符串

模板字符串&#xff08;Template Literals&#xff09;是在ES6&#xff08;ECMAScript 2015&#xff09;中引入的一种新的字符串表示法&#xff0c;它提供了构建字符串的更加强大和灵活的方式。模板字符串可以通过反引号&#xff08;&#xff09;&#xff08;而不是普通的单引号…

04-4.2.4 KMP 算法的进一步优化

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

IP分片的隐患,以及TCP分片

好的&#xff0c;我们来用一个生活中的例子更详细地解释 MTU、MSS&#xff0c;以及 IP 和 TCP 分片。 MTU 和 MSS 的概念 MTU&#xff08;Maximum Transmission Unit&#xff0c;最大传输单元&#xff09;&#xff1a; 假设你搬家&#xff0c;需要用卡车搬运家具。 卡车的最…

什么是动态联编、静态联编?

动态联编&#xff08;Dynamic Binding&#xff09;和静态联编&#xff08;Static Binding&#xff09;是面向对象编程中的两个重要概念&#xff0c;它们描述了程序在运行时如何确定调用哪个方法或属性。 静态联编&#xff08;Static Binding&#xff09; 静态联编&#xff0c…