加一

我的代码

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)相关推荐

  1. 解决无法使用pip命令加载Python的扩展库问题

    解决无法使用pip命令加载Python的扩展库问题 参考文章: (1)解决无法使用pip命令加载Python的扩展库问题 (2)https://www.cnblogs.com/duanxueyuan/ ...

  2. c++加载python模块,但是PyImport_ImportModule老返回NULL

    问题描述: 调用 PyImport_ImportModule加载python老是返回NULL,如下所示:"没有找到符号" 但是我检查了程序所在的路径啊,有这个jieba-test. ...

  3. 椒盐噪声及高斯噪声图片加噪python实现(附代码)

    椒盐噪声及高斯噪声图片加噪python实现(附代码) 写在前面 这个博客会记录我最近学习的笔记,算是成长记录啦,如果有错误的地方还请指出,这也是学习的过程呀! 椒盐噪声 椒盐噪声又称为脉冲噪声,它是一 ...

  4. 半自动化给PDF加书签-Python实现-可双击执行-上篇

    文章目录 半自动化给PDF加书签-Python实现-上篇 一.PDF加书签介绍 1.1 不那么漂亮的话 1.2 PDF加书签难点 1.2.1 书签获取 1.2.2 书签格式化 1.3 工具使用限制 二 ...

  5. python无法使用pip_解决无法使用pip命令加载Python的扩展库问题

    1.Python除了自身的标准库外,还有很多扩展资源,可以使用pip命令在CMD模式下,加安装加载,然而一开始安装好Python后(本人的是VS),不能正常使用pip命令,这个问题刚开始不重要,但是随 ...

  6. python怎么加图片_怎么在图片旁边加文字 python如何在图片上添加文字 - 励志 - 52资讯网...

    Python在图片上添加文字的两种方法:OpenCV和PIL 一.OpenCV方法 1.安装cv2 pip install opencv-python 2.利用putText方法来实现在图片的指定位置 ...

  7. django ajax页面加载,Python Django 之 基于JQUERY的AJAX 登录页面

    解决Dropbox无法连接的问题 同步共享服务Dropbox从6月18日开始再次遭到封锁,原因是DNS污染.Dropbox上次在2010年5月曾遭到IP封锁和网址关键字过 滤,2012年5月除文件外链 ...

  8. 密码学基础-AES加解密Python代码实现

    接上一篇博客 from Crypto.Cipher import AES from Crypto import Random from binascii import b2a_hex # 要加密的明文 ...

  9. python计算时间加减,python datetime库使用和时间加减计算

    datetime库使用 一.操作当前时间 1.获取当前时间 >>> import datetime >>> print datetime.datetime.now( ...

  10. JS逆向加解密——python 实现AES加解密

    前言 写爬虫项目,做JS逆向或者APP逆向时,经常遇到网站的很多参数都经过AES加密解密,用python实现AES加解密是非常简单的,免去了扣JS代码,并且实现格式固定,所以本文提供实现好的AES加解 ...

最新文章

  1. 【重磅】谷歌2021博士奖研金完整名单出炉,13个方向共75人获奖
  2. 题目1154:Jungle Roads
  3. 编译器在处理const变量跟一般变量时的区别
  4. 关于Vue中计算属性computed和methods属性的区别,你了解多少呢
  5. Tomcat 下 Memcached 集群与 Terracotta 集群比较
  6. Python随机选择一部分训练样本作为测试样本
  7. Servlet高级应用---Servlet与缓存
  8. FireMonkey 源码学习(2)
  9. win10换源安装opencv-python
  10. 线程间操作无效: 从不是创建控件“listBox1”的线程访问它
  11. 中国互联网关于阿里未来预测:这盘大期如何走
  12. 延时加载(lazy load)
  13. 你真的了解活跃用户吗?
  14. 一阶电路误差分析_自动控制原理 | 时域分析法
  15. 智慧零售2.0时代,容器云已成电商转型利器
  16. vue+vant+springboot+netty仿照微信聊天和朋友圈
  17. mysql代码导出excel_数据库导出excel代码
  18. 如何使用N1盒子实现自动撸豆
  19. 升级到OPENWRT 19.07后LUCI报错
  20. 人类高质量代码解约瑟夫环问题

热门文章

  1. ld链接时遇到__stack_chk_fail_local错误
  2. 考研数学公式默写记忆PDF
  3. 从零学习Belief Propagation算法(一)
  4. 深度信念网络(Deep Belief Network)
  5. 数据可视化,看这一篇就够了
  6. 苹果 python蚂蚁森林自动收能量_蚂蚁森林自动收能量的最新脚本
  7. 基于Java的超级玛丽游戏的设计与实现(含源文件)
  8. 【Easyx库】(1)
  9. 从UI设计在国内的发展历程来看,UI设计发展前景如何?
  10. aruba交换机配置命令_ArubaOS交换机日常配置指导