当前位置: 首页 > news >正文

leetcode (算法)66.加一(python版)

需求

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:
输入:digits = [0]
输出:[1]

代码

class Solution:# todo 方法一# 将原本列表中数字转化为字符串保存下来,再将字符串转化为整数,进行+1操作# 之后将操作后的数字转化为字符串进行便利,将便利结果追加到新的列表中def add_one(self,list_int):result=''result_list=[]for i in list_int:result+=str(i)# print(int(result))result=str(int(result)+1)# print(result)for i in result:result_list.append(int(i))return result_list# todo 方法二# 初始化一个进位变量 carry 为 1。# 从数组的最后一位开始,依次将当前位上的数字加上进位变量 carry。# 如果当前位的结果大于等于 10,则将进位变量 carry 设为 1,并将当前位的结果减去 10。# 如果当前位的结果小于 10,则将进位变量 carry 设为 0,并停止遍历。# 继续处理前一位,重复步骤 2-4,直到处理完所有位或进位变量 carry 变为 0。# 如果处理完所有位后,进位变量 carry 仍为 1,说明原数组的最高位有进位,需要在数组的头部插入一个 1。def plusOne(self,digits):carry = 1for i in range(len(digits) - 1, -1, -1):digits[i] += carryif digits[i] >= 10:digits[i] -= 10carry = 1else:carry = 0breakif carry == 1:digits.insert(0, 1)return digitsif __name__ == '__main__':call=Solution()list_int=[1,2,3,4]digits=[1,2,3,9]print(call.add_one(list_int))print(call.plusOne(digits))

运行结果

在这里插入图片描述

http://www.lryc.cn/news/296612.html

相关文章:

  • DataX源码分析 TaskGroupContainer
  • 2024年华为OD机试真题-螺旋数字矩阵-Java-OD统一考试(C卷)
  • 红队打靶练习:PHOTOGRAPHER: 1
  • 【Linux】网络诊断 traceroute命令详解
  • c#cad 创建-圆(二)
  • 面试高频知识点:2线程 2.1.5如何自定义实现一个线程池
  • 【stm32】hal库学习笔记-ADC模数转换(超详细)
  • 蓝桥杯基础知识6 pair
  • 后端返回给前端的数据格式有哪些?
  • Transformer的PyTorch实现之若干问题探讨(一)
  • 系统参数SystemParameters.MinimumHorizontalDragDistance
  • 平屋顶安装光伏需要注意哪些事项?
  • 《Git 简易速速上手小册》第7章:处理大型项目(2024 最新版)
  • 从0开始学Docker ---Docker安装教程
  • 嵌入式学习之Linux入门篇笔记——15,Linux编写第一个自己的命令
  • 【C语言】SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
  • C++实现鼠标点击和获取鼠标位置(编译环境visual studio 2022)
  • Matplotlib绘制炫酷散点图:从二维到三维,再到散点图矩阵的完整指南与实战【第58篇—python:Matplotlib绘制炫酷散点图】
  • Docker-Learn(一)使用Dockerfile创建Docker镜像
  • 问题:银行账号建立以后,一般需要维护哪些设置,不包括() #学习方法#经验分享
  • 教授LLM思考和行动:ReAct提示词工程
  • FPGA_工程_按键控制的基于Rom数码管显示
  • WordPress Plugin HTML5 Video Player SQL注入漏洞复现(CVE-2024-1061)
  • 【Kotlin】Kotlin基本数据类型
  • UDP端口探活的那些细节
  • 拦截器配置,FeignClient根据业务规则实现微服务动态路由
  • 预测模型:MATLAB线性回归
  • 【人工智能】神奇的Embedding:文本变向量,大语言模型智慧密码解析(10)
  • Redis + Lua 实现分布式限流器
  • ruoyi若依框架SpringSecurity实现分析