加一(python)
加一
我的代码
from typing import List
def plusOne(digits: List[int]) -> List[int]:i = len(digits) - 1digits[-1] += 1while i >= 0:if digits[i] > 9:if i == 0:digits[i] = 0digits.insert(0,1)else:digits[i] = 0digits[i-1] += 1i -= 1return digits
我的理解
首先得到列表的长度,然后给最后一位加1。在循环结构中逆序循环,从最后一位向前循环,如果这位的数字大于9那么就给上一位加一(如果到了索引0的位置,我们还需要进位,那么就使用方法insert(0,1),这样就可以解决进位溢出的问题。)。
大佬的代码
def plusOne(self, digits: List[int]) -> List[int]:digits = digits[::-1]n = len(digits)c = 1index = 0while c == 1 and index < n:t = (digits[index] + c) % 10c = (digits[index] + c) // 10digits[index] = tindex += 1if c == 1:digits.append(1)return digits[::-1]
我对大佬代码的理解
首先进行转置处理,将列表反向排序,然后给一个变量给定一个值1,然后进行加一操作。从第一位开始,如果这儿的数加上1,得到的数是10,那么就会再次给变量赋值1 。如果这个变量是1才进行下次操作,若不是直接结束操作。若加完后有溢出,就在最后给列表的最后一位append(1)。这样就可以解决溢出。最后在返回值时将列表再次反转就可以完成操作。
这个算法在没有进位时直接就退出循环了,然而我的那个程序依然还在循环。所以说标识符还是非常重要的。在类似的循环中设置标识符,可以减少循环次数,提高运行效率。
加一(python)相关推荐
- 解决无法使用pip命令加载Python的扩展库问题
解决无法使用pip命令加载Python的扩展库问题 参考文章: (1)解决无法使用pip命令加载Python的扩展库问题 (2)https://www.cnblogs.com/duanxueyuan/ ...
- c++加载python模块,但是PyImport_ImportModule老返回NULL
问题描述: 调用 PyImport_ImportModule加载python老是返回NULL,如下所示:"没有找到符号" 但是我检查了程序所在的路径啊,有这个jieba-test. ...
- 椒盐噪声及高斯噪声图片加噪python实现(附代码)
椒盐噪声及高斯噪声图片加噪python实现(附代码) 写在前面 这个博客会记录我最近学习的笔记,算是成长记录啦,如果有错误的地方还请指出,这也是学习的过程呀! 椒盐噪声 椒盐噪声又称为脉冲噪声,它是一 ...
- 半自动化给PDF加书签-Python实现-可双击执行-上篇
文章目录 半自动化给PDF加书签-Python实现-上篇 一.PDF加书签介绍 1.1 不那么漂亮的话 1.2 PDF加书签难点 1.2.1 书签获取 1.2.2 书签格式化 1.3 工具使用限制 二 ...
- python无法使用pip_解决无法使用pip命令加载Python的扩展库问题
1.Python除了自身的标准库外,还有很多扩展资源,可以使用pip命令在CMD模式下,加安装加载,然而一开始安装好Python后(本人的是VS),不能正常使用pip命令,这个问题刚开始不重要,但是随 ...
- python怎么加图片_怎么在图片旁边加文字 python如何在图片上添加文字 - 励志 - 52资讯网...
Python在图片上添加文字的两种方法:OpenCV和PIL 一.OpenCV方法 1.安装cv2 pip install opencv-python 2.利用putText方法来实现在图片的指定位置 ...
- django ajax页面加载,Python Django 之 基于JQUERY的AJAX 登录页面
解决Dropbox无法连接的问题 同步共享服务Dropbox从6月18日开始再次遭到封锁,原因是DNS污染.Dropbox上次在2010年5月曾遭到IP封锁和网址关键字过 滤,2012年5月除文件外链 ...
- 密码学基础-AES加解密Python代码实现
接上一篇博客 from Crypto.Cipher import AES from Crypto import Random from binascii import b2a_hex # 要加密的明文 ...
- python计算时间加减,python datetime库使用和时间加减计算
datetime库使用 一.操作当前时间 1.获取当前时间 >>> import datetime >>> print datetime.datetime.now( ...
- JS逆向加解密——python 实现AES加解密
前言 写爬虫项目,做JS逆向或者APP逆向时,经常遇到网站的很多参数都经过AES加密解密,用python实现AES加解密是非常简单的,免去了扣JS代码,并且实现格式固定,所以本文提供实现好的AES加解 ...
最新文章
- 【重磅】谷歌2021博士奖研金完整名单出炉,13个方向共75人获奖
- 题目1154:Jungle Roads
- 编译器在处理const变量跟一般变量时的区别
- 关于Vue中计算属性computed和methods属性的区别,你了解多少呢
- Tomcat 下 Memcached 集群与 Terracotta 集群比较
- Python随机选择一部分训练样本作为测试样本
- Servlet高级应用---Servlet与缓存
- FireMonkey 源码学习(2)
- win10换源安装opencv-python
- 线程间操作无效: 从不是创建控件“listBox1”的线程访问它
- 中国互联网关于阿里未来预测:这盘大期如何走
- 延时加载(lazy load)
- 你真的了解活跃用户吗?
- 一阶电路误差分析_自动控制原理 | 时域分析法
- 智慧零售2.0时代,容器云已成电商转型利器
- vue+vant+springboot+netty仿照微信聊天和朋友圈
- mysql代码导出excel_数据库导出excel代码
- 如何使用N1盒子实现自动撸豆
- 升级到OPENWRT 19.07后LUCI报错
- 人类高质量代码解约瑟夫环问题
热门文章
- ld链接时遇到__stack_chk_fail_local错误
- 考研数学公式默写记忆PDF
- 从零学习Belief Propagation算法(一)
- 深度信念网络(Deep Belief Network)
- 数据可视化,看这一篇就够了
- 苹果 python蚂蚁森林自动收能量_蚂蚁森林自动收能量的最新脚本
- 基于Java的超级玛丽游戏的设计与实现(含源文件)
- 【Easyx库】(1)
- 从UI设计在国内的发展历程来看,UI设计发展前景如何?
- aruba交换机配置命令_ArubaOS交换机日常配置指导