leecode #加一#二进制求和

news2025/7/7 11:55:32

题目描述:

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

分析:对数组 digits 进行一次逆序遍历,找出第一个不为 9 的元素,将其加一并将后续所有元素置零即可。如果有若干个9,则在某末尾第一个不为9的加一,之后置零。如果digits 中所有的元素均为 9,我们需要返回一个比digits多1的新的数组

代码:

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        n = len(digits)
        for i in range(n - 1, -1, -1):
            if digits[i] != 9:
                digits[i] += 1
                for j in range(i + 1, n):
                    digits[j] = 0
                return digits

        # digits 中所有的元素均为 9
        return [1] + [0] * n

range(3,3)  不执行 

[1] + [0] * 4 相当于 [10000]

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

分析;1、将二进制转十进制,求和,结果再转成二进制

        2、不用加减乘除,通过位运算

代码:

class Solution:
    def addBinary(self, a, b) -> str:
        return '{0:b}'.format(int(a, 2) + int(b, 2))

‘{ 0:b}’ . format()用法:

b、d、o、x分别表示二进制,十进制,八进制,十六进制

int()用法:

int(a,base) a可以是字符串或数字,base表示视当前a的类型,最后转化成整数10进制

class Solution:
    def addBinary(self, a, b) -> str:
        x, y = int(a, 2), int(b, 2)
        while y:
            answer = x ^ y
            carry = (x & y) << 1
            x, y = answer, carry
        return bin(x)[2:]

& :按位与

<<:按位左移

bin(): 返回一个整数 int 或者长整数 long int 的二进制表示

 

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

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

相关文章

简单版的采用前后端分离模式实现SpingBoot新增查询功能

目录 后端代码编写 前端代码编写 首页展示&#xff1a; 新增&#xff1a; 开发工具&#xff1a;IDEA、HbuilderX 技术点&#xff1a;后端&#xff1a;SpringBoot&#xff0c;前端&#xff1a;ElementUIvue,采用前后端分离模式实现。 后端代码编写 目录&#xff1a; 代码…

多线程高并发笔记

一、基础知识 1. 线程打断的三种方法 interrupt() 打断某个线程&#xff08;其实只是设置一个标志位&#xff09;isInterrupted() 查询某线程是否被打断过&#xff08;查询是否设置了标志位&#xff09;static interrupted() 查询当前线程是否被打断过&#xff0c;并重置打断…

计算机毕业设计ssm+vue基本微信小程序的今日菜谱系统

项目介绍 谈到外出就餐,我们除了怕排队,也怕这家餐厅的服务员不够用,没人为我们点餐,那么一餐饭排队一小时,点餐恐怕也要花个半小时,这样不仅给消费者的用餐体验大打折扣同时也给商家的口碑造成了严重负面的影响,所以开发今日菜谱微信小程序系统是必须也是必然的。 本系统采用微…

vue2 sass 安装及使用

最近在看前端。其一因为手里有个项目uniapp的里面使用了sass&#xff0c;但是有sass报错&#xff0c;其次想自己写个vue2后台&#xff0c;感觉sass写起来科学点。但是……版本这个东西……太费劲了…… vue2-cli集成webpack&#xff0c;使用vue create 项目名后再安装sass相当…

C++程序设计期末考试复习试题及解析 3(自用~)

DDL1.题目及分析1.对象数组的析构顺序2.浅拷贝的隐患delete p 还是 delete[]p ?类似的题&#xff0c;自行查阅3.常数据成员的初始化4.默认构造函数5.cin、cout所属类6.重载7.静态数据成员8.多态8.联编9.内联函数10.引用11.static12.构造Complex类13.静态成员函数14.抽象类15.标…

[一篇读懂]C语言二讲:运算符与表达式

[一篇读懂]C语言二讲&#xff1a;运算符与表达式1. 算术运算符与关系运算符1 运算符分类2 算术运算符及算术表达式3 关系运算符与关系表达式【例】关系运算符的使用。4 运算符优先级2. 逻辑运算符与赋值运算符&#xff0c;求字节运算符1 逻辑运算符与逻辑表达式【例】逻辑运算符…

k8s基于kubectl命令管理资源并分配

文章目录一、资源管理介绍二、资源管理方式1、命令式对象管理2、命令式对象配置3、声明式对象配置一、资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过master节点操作资源来管理kubernetes。 &#xff08;1&#xff09;kubernetes的本…

数据结构串和数组练习题

串和数组 一 填空题 不包含任何字符&#xff08;长度为0&#xff09;的串称为 空串 &#xff1b;由一个或多个空格&#xff08;仅由空格符&#xff09;组成的串称为 空白串。 设S“A;/document/Mary.doc”&#xff0c;则strlen(s) 20 , “/”的字符定位的位置为 3 。 子串的…

Windows内核--CreateProcess到内核NtCreateProcess(2.3)

CreateProcessA vs CreateProcessW A和W后缀代表ANSI和UNICODE版本。早期&#xff0c;Windows为了兼容之前ANSI版本&#xff0c;为了推广UNICODE版本&#xff0c;所以做出了两套API. 注意&#xff0c;并不是所有Windows API都有*A和*W两套&#xff0c;只有API参数包含"字符…

[附源码]java毕业设计社区生鲜电商平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

linux文件上传和下载、别名设置以及环境变量

一、文件上传和下载 1.sftp &#xff08;1&#xff09;它类似于ftp传输协议&#xff0c;属于ssh&#xff0c;但它进行加密传输&#xff0c;相对FTP来讲有更高的安全性 &#xff08;2&#xff09;用法 [rootserver ~]# ssh root10.0.0.3 The authenticity of host 10.0.0.3 …

虚基类设计 c++

一个例子 首先大家看一个定义的一个虚基类 所谓的虚基类&#xff0c;是指类内包含virtual关键字定义的成员函数 class Abstract_base { public:virtual ~Abstract_base();virtual void interface() const 0;virtual const char* mumble() const {return m_mumble;} protect:ch…

Echarts:制作词云

Echarts是一个开源的可视化图表库&#xff0c;支持丰富的图表&#xff0c;官网中还有大量示例可以选择使用、参考。 其中比较好玩、有趣的是词云&#xff0c;词云就是用关键词组成的一朵云&#xff0c;更广泛的定义是&#xff0c;由关键词组成的任意一种图案均称为词云。因此&…

opencv 空域变换

图像变换是基于像素的映射&#xff0c;区别是像素是怎么映射的。灰度变换的话是通过点对点的映射&#xff0c;也就是变换后的像素点之和当前的像素点有关&#xff08;gramma变换、对数变换等等&#xff09;&#xff0c;依次来进行对比度拉伸。而空间滤波变换后的像素点是和当前…

LeetCode - 354 俄罗斯套娃信封问题

题目来源 354. 俄罗斯套娃信封问题 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个二维整数数组 envelopes &#xff0c;其中 envelopes[i] [wi, hi] &#xff0c;表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候&#xff0c;这个…

GreenPlum6.x之测试数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、generate_series是什么&#xff1f;二、使用步骤1.建张测试表2.插入简单的测试数据3.查看数据分散情况4.通过SQL测试性能总结前言 提示&#xff1a;这里可以…

浅谈一下:Java当中的构造方法

从前面的所学的知识&#xff0c;我们可以发现&#xff1a;实列化一个对象以后&#xff0c;如果要为这个对象的属性赋值&#xff0c;那么必须直接访问对象的属性或者调用setXxx()方法&#xff0c;如果需要在实列化对象的同时就为这个对象的属性进行赋值&#xff0c;可以通过构造…

【考研复试】计算机专业考研复试英语常见问题四(优缺点/观点/观念篇)

相关链接&#xff1a; 【考研复试】计算机专业考研复试英语常见问题一&#xff08;家庭/家乡/学校篇&#xff09;【考研复试】计算机专业考研复试英语常见问题二&#xff08;研究方向/前沿技术/本科毕设篇&#xff09;【考研复试】计算机专业考研复试英语常见问题三&#xff0…

程序员这个身份,比你想象的还值钱!

看到这个标题先别急着喷我&#xff01; 虽然现在“程序员”已经被吐槽饱和了&#xff0c;但目前小厂依旧求贤若渴&#xff0c;大厂一些门槛比较高的算法岗还是抛出了不少HC&#xff01; 并且年年薪水涨&#xff0c;年年新人倒挂&#xff0c;校招白菜总包薪资近40w的不在少数&am…

从入门到项目实战 - vue2 与 vue3 中实现全局事件总线

VUE组件跨通信vue2 与 vue3 中实现全局事件总线上一节&#xff1a;《Vue中的 虚拟 Dom 》| 下一节&#xff1a;《Vue 组件常见的数据访问方式总结 》jcLee95 邮箱 &#xff1a;291148484163.com CSDN 主页&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.300…