作者: 负雪明烛
id: fuxuemingzhu
个人博客: http://fuxuemingzhu.cn/


题目地址:https://leetcode.com/problems/missing-number/#/description

题目描述

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.

Example 1:

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

Example 2:

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

Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

题目大意

求N+1个不同的数字(0~N)中缺失了一个数字,求这个数字是多少?

解题方法

求和

因为数字是从0, 1, 2, …, n中抽走一个,因此,该数字的值是0, 1, 2, …, n的和减去现有数字的和。

public class Solution {
public int missingNumber(int[] nums) {
int sum = 0;
int len = nums.length;
for(int i = 0; i < len; i++){
sum += nums[i];
}
return len * (len + 1)/2 - sum;
}
}

二刷,python

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

异或

索引是0~N,直接异或一遍0~N各个数字共N+1个,并且异或所有出现的数字,剩下的结果是只出现一次的数字,也就是说缺失的那个数字。

需要注意的是初始化是N,这样才能把0~N各个索引多异或一遍。

public int missingNumber(int[] nums) { //xor
int res = nums.length;
for(int i=0; i<nums.length; i++){
res ^= i;
res ^= nums[i];
}
return res;
}

日期

2017 年 4 月 21 日
2018 年 11 月 16 日 —— 又到周五了!

最新文章

  1. 用table做网页,设置了border为1px怎么还是觉得很粗?
  2. [HTML]安卓下&lt;video&gt;无法点击播放
  3. asp.net Ajax刷新和无刷新的区别
  4. 如何申请https证书、搭建https网站
  5. 实体ip 虚拟ip 固定ip 动态ip
  6. 解决Win10服务主机本地系统网络受限
  7. 华东交通大学2016年ACM“双基”程序设计竞赛 1009
  8. jmeter 启用gzip压缩——解决测试中web服务器上行流量过大的问题
  9. hdu2222Keywords Search
  10. synapse socket总结三:心跳(Heartbeat)
  11. ssh连接Linux自动断开后再也无法连上的问题
  12. 单发邮箱 群发邮箱 程序 Email winform
  13. Java基础语法&lt;八&gt; 继承
  14. 长沙学院APP之校园模块设计
  15. URL tomcat中文乱码
  16. jQuery获取相同元素下标
  17. LeetCode 448 Find All Numbers Disappeared in an Array 解题报告
  18. python全栈开发day16-正则表达式和re模块
  19. c# 之系统环境安装
  20. 分布式 session

热门文章

  1. python10-高阶函数
  2. Oracle-with c as (select ......) 实现多次调用子查询结果
  3. Demo01无重复数字
  4. 05 Windows安装python3.6.4+pycharm环境
  5. 作为Java技术面试官,我如何深挖候选人的技能
  6. 【原创】基于RPA的软件功能自动化测试
  7. 日常Java 2021/10/17
  8. day31 协程
  9. Hive(八)【行转列、列转行】
  10. Quartz使用AutoFac依赖注入问题小结