首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

切片[::-1]解析列表list表示的“非负整数加1”

  • 24-01-06 05:59
  • 3250
  • 8552
blog.csdn.net

列表数位表示非负整数,熟练操作“满十进位”。


  (本笔记适合熟练操作Python列表list的 coder 翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


列表数位表示非负整数
LeetCode第66题:加1
(熟练操作“满十进位”)


本文质量分:

【 95 】
本文地址: http://iyenn.com/rec/1968524.html

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ LeetCode第66题:加1
    • 1、题目描述
    • 2、我的题解
      • 2.1 简单思路
      • 2.2 Python代码
      • 2.2 代码优化
    • 3、完整源码


◆ LeetCode第66题:加1


1、题目描述


  • 题目描述截屏图片
    在这里插入图片描述
    LeetCode原题,可以点击蓝色文字跳转翻阅题目和“题解”。



回页目录


2、我的题解

2.1 简单思路


  列表表示的非负整数加1,只要熟悉了Python列表list,本题还是相对简单。重点是进位的处理,进位的实现方式也不是一种两种,选自己善长和喜欢的代码实现就好。



  • 我采用“本位+进位”的方式获得本位,计算下一个“满十进位”。为方便进位,我切片反转整数列表,“操作”完成后,切片[::-1]反转列表返回结果。

  • 二当家的白帽子加1“算法”,很巧妙——“寻9进位”。


2.2 Python代码


  • 代码运行效果截屏图片
    在这里插入图片描述

    def plusOne(self, digits: list[int]) -> list[int]:
        digits[-1] = digits[-1] + 1 # 加1。
        result = []
        carry_rit = 0
        
        for i in digits[::-1]:
            i += carry_rit
            carry_rit = 1 if i > 9 else 0
            result.append(i%10)
            
        if i > 9 and carry_rit:
            result.append(carry_rit)
        
        return result[::-1]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2.2 代码优化


  加1,即最低位加1,也可以看成是个位的“进位”是1。所以前面的代码第一行个位加1可以去除,改进位初值0为1。

  • 结果一样
    在这里插入图片描述

    def plusOne(self, digits: list[int]) -> list[int]:
        #digits[-1] = digits[-1] + 1 # 加1。
        result = [] # 结果列表初值。
        carry_rit = 1 # 进位初值1,相当于加1。
        
        for i in digits[::-1]:
            i += carry_rit # 本位+进位等于本位。
            carry_rit = 1 if i > 9 else 0 # 确定进位是1或者0。
            result.append(i%10) # 收集本位数字。
            
        if i > 9: # 最高位大于9,进位1。
            result.append(1) # 收集最高进位。
        
        return result[::-1] # 反转返回结果。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • ListCode通过截屏图片
    在这里插入图片描述


回页目录

3、完整源码

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8

class Solution:

    def plusOne(self, digits: list[int]) -> list[int]:
        #digits[-1] = digits[-1] + 1 # 加1。
        result = [] # 结果列表初值。
        carry_rit = 1 # 进位初值1,相当于加1。
        
        for i in digits[::-1]:
            i += carry_rit # 本位+进位等于本位。
            carry_rit = 1 if i > 9 else 0 # 确定进位是1或者0。
            result.append(i%10) # 收集本位数字。
            
        if i > 9: # 最高位大于9,进位1。
            result.append(1) # 收集最高进位。
        
        return result[::-1] # 反转返回结果。


if __name__ == '__main__':
    digits = [1, 9, 9, 9]
    print('\n输入:', digits) 
    print('\n输出:', Solution().plusOne(digits))

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26



回页首


上一篇:  蓝桥杯真题:最少刷题数(2022年第13届省赛,蓝桥杯真题)
下一篇: 

我的HOT博:

  本次共计收集 224 篇博文笔记信息,总阅读量 37.94w,平均阅读量 1693。已生成 25 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-07-31 23:40:56 完成,用时 5 分 4.61 秒。


  1. 让QQ群昵称色变的神奇代码
    ( 57289 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:24   踩 :0  收藏:81  打赏:0  评论:17
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  2. ChatGPT国内镜像站初体验:聊天、Python代码生成等
    ( 56284 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
    点赞:125   踩 :0  收藏:791  打赏:0  评论:75
    本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-07-03 05:50:55 修改。
  3. pandas 数据类型之 DataFrame
    ( 8922 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:31  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  4. 个人信息提取(字符串)
    ( 7017 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:12  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  5. 罗马数字转换器|罗马数字生成器
    ( 6795 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  6. Python字符串居中显示
    ( 6698 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:6  打赏:0  评论:1
    本篇博文笔记于 2021-12-26 23:35:29 发布。
  7. Python列表(list)反序(降序)的7种实现方式
    ( 5860 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:5   踩 :0  收藏:19  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  8. 斐波那契数列的递归实现和for实现
    ( 5446 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记于 2022-01-06 23:27:40 发布。
  9. 练习:字符串统计(坑:f‘string‘报错)
    ( 5011 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2021-12-04 22:54:29 发布。
  10. python清屏
    ( 4810 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2021-10-14 13:47:21 发布。
  11. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4803 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记于 2021-11-30 23:43:17 发布。
  12. 回车符、换行符和回车换行符
    ( 4770 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  13. 密码强度检测器
    ( 4144 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  14. 练习:生成100个随机正整数
    ( 4127 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  15. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 4019 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
  16. 我的 Python.color() (Python 色彩打印控制)
    ( 3824 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:7  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  17. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    ( 3792 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。
  18. 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。
    ( 3523 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626
    点赞:3   踩 :0  收藏:5  打赏:0  评论:3
    本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。
  19. random.sample()将在python 3.9x后续版本中被弃用
    ( 3395 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120657230
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-10-08 18:35:09 发布。
  20. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
    ( 3336 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589
    点赞:4   踩 :0  收藏:2  打赏:0  评论:3
    本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。
  21. Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义
    ( 3308 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606
    点赞:0   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。
  22. 练习:求列表(整数列表)平衡点
    ( 3161 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-12-05 23:28:10 发布。
  23. 练习:小炼二维数组
    ( 3097 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125175592
    点赞:9   踩 :0  收藏:5  打赏:0  评论:9
    本篇博文笔记于 2022-06-07 23:54:43 首发,最晚于 2022-06-08 00:31:49 修改。
  24. 练习:银行复利计算(用 for 循环解一道初中小题)
    ( 3060 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123854548
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-03-30 20:06:37 首发,最晚于 2022-04-06 18:15:16 修改。
  25. 练习:柱状图中最大矩形
    ( 3052 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122032365
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-12-19 23:47:07 发布。
推荐条件 阅读量突破三千
(更多热博,请点击蓝色文字跳转翻阅)

回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费?下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回页首

◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

注:本文转载自blog.csdn.net的梦幻精灵_cq的文章"https://blog.csdn.net/m0_57158496/article/details/132032964"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top