【LeetCode: 67. 二进制求和 | 位运算 】

news2024/11/26 9:31:33

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 位运算
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 67. 二进制求和

⛲ 题目描述

给你两个二进制字符串 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” ,就不含前导零

🌟 求解思路&实现代码&运行结果


⚡ 位运算

🥦 求解思路
  1. 该题目让我们求解的是计算俩个二进制数的和,最后返回二进制累加的结果即可。
  2. 俩个二进制的数字和怎么计算呢,其实和我们俩个十进制的数求和是一样的,只不过十进制是逢十进一,二进制是逢二进一。
  3. 为了更方便的进行模拟,我们可以将字符串先反转过来后求解会更好一些。
  4. 具体求解的过程步骤请看下面代码。
🥦 实现代码
class Solution {
    public String addBinary(String a, String b) {
        StringBuilder s1=new StringBuilder(a);
        a=s1.reverse().toString();
        StringBuilder s2=new StringBuilder(b);
        b=s2.reverse().toString();
        int c1=0,c2=0,n=a.length(),m=b.length();
        StringBuilder sb=new StringBuilder();
        int temp=0;
        while(c1!=n||c2!=m){
            int num1=c1<n?a.charAt(c1++)-'0':0;
            int num2=c2<m?b.charAt(c2++)-'0':0;
            int num=(num1+num2+temp)%2;
            temp=(num1+num2+temp)/2;
            sb.append(num);
        }
        if(temp!=0){
            sb.append(temp);
        }
        return sb.reverse().toString();
    }
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

power point导出pdf保留字体

在 slides 中用到非自带的字体&#xff0c;如 [1]&#xff0c;想导出成 pdf 文件&#xff08;因为导出成图&#xff0c;如 png&#xff0c;放大会蒙&#xff09;&#xff0c;并在别人电脑里也保留字体。除了让别人也装上相应字体&#xff0c;可以&#xff1a; 参考 [2]&#x…

探秘网页打开的完整过程:DNS解析、CDN加速和Nginx负载均衡的协同驱动

浅谈一个网页打开的全过程&#xff08;涉及DNS、CDN、Nginx负载均衡等&#xff09; 1、概要 从用户在浏览器输入域名开始&#xff0c;到web页面加载完毕&#xff0c;这是一个说复杂不复杂&#xff0c;说简单不简单的过程&#xff0c;下文暂且把这个过程称作网页加载过程。下面…

【ARM Coresight SoC-400/SoC-600 专栏导读】

文章目录 1. ARM Coresight SoC-400/SoC-600 专栏导读目录1.1 Coresight 专题1.1.1 Performance Profiling1.1.2 ARM Coresight DS-5 系列 1. ARM Coresight SoC-400/SoC-600 专栏导读目录 本专栏全面介绍 ARM Coresight 系统 及SoC-400, SoC-600 中的各个组件。 1.1 Coresigh…

运放注意事项

文章目录 运放使用的注意事项RMS-DC转换器&#xff0c;有效值测量芯片 运放使用的注意事项 RMS-DC转换器&#xff0c;有效值测量芯片 这个图从国外一个万用表拔下来的 AD637,AD536,AD636,LTC1966,LTC1967,LTC1968, 一个AD637特别贵

DHorse v1.4.2 发布,基于 k8s 的发布平台

版本说明 优化特性 在集群列表增加集群版本&#xff1b;修改Jvm的GC指标名&#xff1b; 解决问题 解决shell脚本换行符的问题&#xff1b;解决部署历史列表页&#xff0c;环境名展示错误的问题&#xff1b;解决指标收集功能的异常&#xff1b; 升级指南 升级指南 DHorse…

Jetpack:010-Jetpack中的进度条

文章目录 1. 概念介绍2. 使用方法2.1 圆形进度条2.2 长条形进度条 3. 示例代码4. 内容总结 我们在上一章回中介绍了Kotlin中的lambda、匿名函数和闭包&#xff0c;本章回中主要介绍 进度条。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 进…

分类预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络数据分类预测

分类预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络数据分类预测 目录 分类预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络数据分类预测分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络数据分类预测…

TortoiseSVN安装与使用

文章目录 一、TortoiseSVN下载二、下载简体中文包三、TortoiseSVN安装1、双击安装包&#xff0c;点击Next2、更改安装目录3、点击Finish结束安装4、根据情况选择立刻重启系统还是稍后5、双击语言包&#xff0c;点击下一步6、勾选语言包生效&#xff0c;点击完成结束安装 四、To…

【网络】网络入门

网络入门 一、网络发展二、网络协议初识1、认识"协议"2、协议分层3、OSI七层模型4、TCP/IP五层(或四层)模型 三、网络传输基本流程1、同局域网的两台主机通信2、跨网络的两台主机通信 四、网络中的地址管理1、IP地址2、认识MAC地址 一、网络发展 独立模式&#xff1a…

【Java】Spring Cloud 智慧工地信息云平台源码(PC端+APP端)项目平台、监管平台、大数据平台

智慧工地是目前建筑行业的热门话题之一&#xff0c;它代表了未来建筑施工的发展趋势。那么&#xff0c;智慧工地的未来&#xff0c;你看好吗&#xff1f; 从技术角度来看&#xff0c;智慧工地无疑是未来发展的趋势。随着人工智能、大数据、云计算等技术的飞速发展&#xff0c;智…

防雷接地的作用和施工案例方案

防雷接地是一种防止雷电对建筑物、设备和人员造成危害的措施&#xff0c;它通过将建筑物或设备的金属部件与大地电位相连&#xff0c;使雷电流能够安全地泄放到地下&#xff0c;从而避免电击、火灾、爆炸等事故的发生。 地凯科技防雷接地系统一般由三个部分组成&#xff1a;接…

多媒体应用设计师 第5章 多媒体信息显示、发布及搜索技术

1.多媒体信息显示技术 1.1.常见的显示技术 显示技术&#xff1a; CRT显示器&#xff1a;阴极射线管 LCD显示器&#xff1a;液晶显示器 等离子显示器&#xff1a;PDP 1.2.立体显示技术 立体显示是虚拟现实的一个实现方式。 根据立体再现的显示效果划分&#xff1a;视差立体…

Qt入门学习及GUI编程基础教程

看了很多篇文章&#xff0c;自己也跟着操作过&#xff0c;对觉得很有用的文章做个笔记&#xff0c;以防以后找不到。 以下是阅读过的多篇文章里面筛选出来比较适合新手小白的&#xff0c;具体详细&#xff0c;通俗易懂。 参考文章1(Qt基本ui界面窗口及控件编程)&#xff1a;h…

SPI 接口 CAN协议控制器 MCP2515/DP2515国产替代芯片DPC15

can控制器是CAN局域网控制器的简称&#xff0c;为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线。 CAN 可提供高达1Mbit/s的数据传输速率&#xff0c;这使实时控制变得非常容易。另外&#xff0c;硬件的错误检定特性也增强了CAN的抗电磁干扰能力…

代码随想录二刷 Day 37

#860.柠檬水找零 这个题只有三种情况&#xff0c;5,10和20&#xff1b; 5这个情况不需要判断只需要记账&#xff0c;10和20就要判断下&#xff0c;只有20的部分需要贪心 //int sum 0;int five 0, ten 0, twenty 0; //这个写法记一下bool lemonadeChange(vector<int>…

京东数据分析:2023年9月厨房小家电市场销额同比下滑29%

今年9月&#xff0c;整个线上家电市场的销售情况不容乐观。疫情红利过后&#xff0c;小厨电市场基本呈现出相对饱和的状态&#xff0c;整体的消费端有所收缩。 根据鲸参谋数据显示&#xff0c;9月京东平台厨房小电整体销量约640万件&#xff0c;同比下滑25%&#xff1b;销售额约…

信钰证券:股票抵押是好还是坏?

股票典当是指将持有的股票作为质押品向银行或其他金融机构融资的行为。股票典当有其优势和下风&#xff0c;下面咱们将从多个角度来剖析股票典当是否好仍是坏。 一、优势 1.占用资金少 相比较于其他融资办法&#xff0c;股票典当所需求占用的资金较少&#xff0c;只需将股票作…

Python学习基础笔记七十四——字典

字典&#xff1a; 字典是什么&#xff1f; 字典是Python开发中非常重要的一种数据类型。 字典这种数据类型提供了一种特别的功能&#xff0c;就是存放键值对数据。 每个对应的账号和会员数据就形成了一个键值对。 从登录名到用户信息数据的映射关系。 要存储像这样一对一的映…

企业开发中实际用到的Python有用的方法

背景&#xff1a; 企业开发中遇到的问题场景解决【随时间逐步添加场景问题】 具体场景&#xff1a; 场景1&#xff1a;对一个列表[里面元素是秒级时间戳]&#xff0c;原始数据无序&#xff0c;需要进行有序排列&#xff0c;对列表进行排序【默认由大到小】&#xff0c;使用s…

c# 关于某管理业务系统对数据统计问题.

1.业务系统主要的就是功能的稳定,流畅性. 最近客户提出某统计功能数据加载到页面很慢.反映到运维工程师处,运维跟我说之后我(研发), 我看了看代码,有几处代码确实需要优化,统计功能调用了4次服务端,每一次客户端调用服务端的时候返回结果3S左右,有三次调用服务端,一共大约耗时…