给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数

Example 1:

Input: [3,0,1]
Output: 2

Example 2:

Input: [9,6,4,2,3,5,7,0,1]
Output: 8

注意:

必须在线性时间复杂度内完成,尝试用常数阶额外空间完成

1:申请len(nums)+1长度的数组用于标记,两次for循环完成工作。时间复杂度O(n),空间复杂度O(n)

def missingNumber(self, nums):""":type nums: List[int]:rtype: int"""checkList = [False] * (len(nums) + 1)for i in nums:checkList[i] = Truefor i, j in enumerate(checkList):if not j:return i

2:0~n,满足等差数列公式(参考他人)

def missingNumber(self, nums):""":type nums: List[int]:rtype: int"""return (len(nums) * (len(nums)+1) // 2) - sum(nums)

3:^位运算(参考他人)

def missingNumber(self, nums):""":type nums: List[int]:rtype: int"""bit = 0for i, j in enumerate(nums):bit ^= i ^ jreturn bit ^ len(nums)

4:set()方法(参考他人)

def missingNumber(self, nums):""":type nums: List[int]:rtype: int"""return (set(range(len(nums) + 1)) - set(nums)).pop()

算法题来自:https://leetcode-cn.com/problems/missing-number/description/

Python实现缺失数字的四种方法相关推荐

  1. python写错了怎么更改-Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  2. python单向认证_使用Python进行单向方差分析的四种方法

    python单向认证 The current post will focus on how to carry out between-subjects ANOVA using Python. As m ...

  3. python 读写16bit图像的四种方法

    python 读写16bit图像的四种方法 应对超高清.HDR等图像增强类深度学习任务和专业图片处理任务时,我们需要对16bit图像进行读取.转tensor和保存等操作,这里总结出四种python实现 ...

  4. js将字符串转换成数字的四种方法

    方法主要有四种 1转换函数.2强制类型转换.3利用js变量弱类型转换.4在字符串前面添加个+ 1.转换函数 js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后 ...

  5. 解决WPS字体缺失问题的四种方法

    Ubuntu下提示WPS字体缺失解决 在使用WPS Office进行文档编辑时,有时会遇到提示"WPS字体缺失"的问题,这该如何解决呢?以下是几种解决方法,供大家参考. 方法一:卸 ...

  6. python 命令-Python中执行系统命令的四种方法

    一.os.system方法 在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态.执行后返回两行结果,第一行是结果, 第二行是执行状态信息,如果命令成功执行,这条语句返回0,否则返回1 ...

  7. Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  8. python下载文件损坏_四种方法 恢复损坏的Excel文档

    打开一个以前编辑好的Excel工作簿,却发现内容混乱,无法继续进行编辑,而且还不能够进行打印.这是很多朋友在处理Excel文件时都可能会遇到的一个问题,面对这种情况时,我们应该怎么办呢? 出现上述情况 ...

  9. python中取整数的四种方法

    1.向下取整: int() >>> a = 14.38 >>> int(a) 14 2.向上取整:ceil() 使用ceil()方法时需要导入math模块,例如 & ...

最新文章

  1. Zookeeper集群脑裂问题
  2. 【重复制造精讲】REM Pull List 拉料单简介
  3. 工作329:uni-数据为空不显示
  4. 联发科发布天玑9000移动平台 4nm制程 Armv9架构
  5. 95-30-015-Channel-AbstractNioMessageChannel
  6. Zabbix监控Nginx连接状态
  7. startallback怎么用_startallback使用教程
  8. 软件测试视频课网盘,软件测试工程师必学视频教学全套五合一
  9. 【技术】UEFI基础服务:系统表
  10. FileSplit:文件的子集--文件分割体
  11. Python学习笔记-条件语句
  12. 技巧分享篇---如何从GitHub上下载某个项目中单个文件的方法
  13. 公众号后台管理系统php开发,微信公众平台开发管理后台开发
  14. 最新超唯美情侣网站开源+带后台/亲测可用
  15. 谷歌浏览器Chrome,TableExport.js 导出时数据量过大报网络错误的问题
  16. I2C总线读取MPU6050
  17. 【学习笔记】嵌入式三级
  18. JForum论坛添加UEditor文本编辑器
  19. [Unity][安卓]VideoPlayer组件播放视频
  20. 实现一个微信公众号智能问答机器人

热门文章

  1. SCSI设备:SCSI接口图片说明
  2. PASCAL Visual Object Classes Challenge 2007 (VOC2007) 图像标注指南 / 标注规则
  3. Oracle创建表空间和用户
  4. 高斯消元法(matlab)
  5. HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码...
  6. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
  7. 连续仨月霸占牛客榜首京东T8呕心巨作:700页JVM虚拟机实战手册
  8. STM32使用HSE/HSI配置时钟(六)
  9. 在dev-c或者cb上建立 Consol Application project\collect2.exe [Error] ld returned 1 exit status
  10. 钽电容黑色和黄色的区别