leetcood学习笔记-67-二进制求和
题目描述:
第一次提交:
class Solution:
def addBinary(self, a: str, b: str) -> str:
list_a,list_b=[],[]
for s in a:
list_a.append(int(s))
for s in b:
list_b.append(int(s))
if len(list_a)>=len(list_b):
for i in range(len(list_a)-len(list_b)):
list_b.insert(0,0)
else:
for i in range(len(list_b)-len(list_a)):
list_a.insert(0,0)
for i in range(len(list_b)):
list_b[i]=list_b[i]+list_a[i]
for i in range(len(list_b)-1,0,-1):
if list_b[i]>1:
list_b[i]=list_b[i]-2
list_b[i-1]+=1
if list_b[0]>1:
list_b[0]=list_b[0]-2
list_b.insert(0,1)
for i in range(len(list_b)):
list_b[i]=str(list_b[i])
strb="".join(list_b)
return strb
方法二:使用内置函数
class Solution:
def addBinary(self, a: str, b: str) -> str:
return bin(int(a,2)+int(b,2))[2:]
其他:
class Solution:
def addBinary(self, a: str, b: str) -> str:
if len(a) < len(b):
a,b = b,a
b = ""*(len(a)-len(b)) + b
carry = 0
L = len(a)
res = ''
while L>0:
tmp = int(a[L-1]) + int(b[L-1]) +carry
carry = tmp // 2
res += str(tmp % 2)
L -= 1
return (res + str(carry))[::-1] if carry else res[::-1]
转换函数:
dec = input('10进制数为:')
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec)) string1 = ''
print('二进制字符串转换成十进制数为:',int(string1,2))
string1 = ''
print('八进制字符串转换成十进制数为:',int(string1,8))
string3 = 'FFF' ---------------------
作者:段小胖
来源:CSDN
原文:https://blog.csdn.net/dxcve/article/details/81153331
leetcood学习笔记-67-二进制求和的更多相关文章
- Java实现 LeetCode 67 二进制求和
67. 二进制求和 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1 ...
- [原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- NodeJS学习笔记 (15)二进制数据-buffer(ok)
模块概览 Buffer是node的核心模块,开发者可以利用它来处理二进制数据,比如文件流的读写.网络请求数据的处理等. Buffer的API非常多,本文仅挑选 比较常用/容易理解 的API进行讲解,包 ...
- K8S学习笔记之二进制的方式创建一个Kubernetes集群
0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方地址: ...
- Linux下汇编语言学习笔记67 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群
0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansi ...
- 力扣(LeetCode)67. 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" 输出: ...
- 整除分块学习笔记+[CQOI2007]余数求和(洛谷P2261,BZOJ1257)
上模板题例题: [CQOI2007]余数求和 洛谷 BZOJ 题目大意:求 $\sum^n_{i=1}k\ mod\ i$ 的值. 等等……这题就学了三天C++的都会吧? $1\leq n,k\leq ...
- leetcood学习笔记-20
python字符串与列表的相互转换 学习内容: 1.字符串转列表 2.列表转字符串 1. 字符串转列表 str1 = "hi hello world" print(str1.s ...
随机推荐
- 【记录】Swagger2 注解说明
Swagger是一个用来管理项目接口的非常好用的第三方插件, 程序员只需要通过在接口代码上设置Swagger注解, 就可以在Swagger UI上进行查看与验证接口. 很大程度上节省了,接口文档的制作 ...
- 使用Turbine对集群进行监控
为什么要使用Turbine Turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过turbine来监控集群下hystrix的me ...
- 循环神经网络(Recurrent Neural Network)
传统的神经网络模型,隐藏层的节点之间是无连接的,如下图所示. 而循环神经网络隐藏层的节点之间有连接,主要用于对序列数据进行分类.预测等处理.有连接意味着需要接受信息,这种网络通常用来对序列数据进行处理 ...
- layer.msg的使用
源码: layer.msg('只想弱弱提示'); layer.msg('表情提示', {icon: 6}); layer.msg('关闭后想做些什么呢', function(){ //自动执行这里面的 ...
- java 获取的是本地的IP地址
1 public static void main(String[] args) { 2 try { 3 InetAddress address = InetAddress.getLocalHost( ...
- Robot Framework:Excel操作
robot framework 操作Excel需要安装库 ExcelLibrary pip install robotframework-ExcelLibrary 将ExcelLibrary 导入到r ...
- 【NOI2019模拟2019.6.29】字符串(SA|SAM+主席树)
Description: 1<=n<=5e4 题解: 考虑\(f\)这个东西应该是怎样算的? 不妨建出SA,然后按height从大到小启发式合并,显然只有相邻的才可能成为最优答案.这样的只 ...
- java——文件
- JSON.NET与LINQ序列化示例教程
1.手动创建JSON对象和数组 JSON格式主要包括对象和数组两种形式,在JSON.NET中分别用JArray和JObject表示,属性用JProperty表示,属性值用 JValue表示,这些对象都 ...
- contest-20191022
盘王节 sol 可以发现只有打光御符或完全不打御符两种情况.分开考虑,不打的双指针扫描,用最大的配最小的 打光的可以先贪心的打,然后当成0有无限个, 祝著节 sol 考虑求出最小生成树,记边权和为su ...