博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Array:Missing Number
阅读量:5271 次
发布时间:2019-06-14

本文共 772 字,大约阅读时间需要 2 分钟。

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

For example,

Given nums = [0, 1, 3] return 2.

找出丢失的整数

 

解题思路1:

用1到n的和减去数组中的数字之和就是丢失的数。时间复杂度是O(n),空间复杂度是O(1)

public class Solution {    public int missingNumber(int[] nums) {        int sum = 0, n = nums.length;        for (int num : nums)             sum += num;                return n*(n+1)/2 - sum;    }}

 

解题思路2:

利用异或运算,由于a^b^b = a;因此将所有的下标与对应的数组中的数异或,留下的数即丢失的数。例如一个数组是[0,1,2,4,5],将0,1,2,4,5和0,1,2,3,4,5异或,留下3,即缺失的数字。

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

 

转载于:https://www.cnblogs.com/ltchu/p/6409027.html

你可能感兴趣的文章
c#动态调用Webservices
查看>>
DevC++ 使用技巧
查看>>
Sublime Text编辑器如何隐藏顶部的菜单栏
查看>>
Linux Shell 编程 [精华]
查看>>
1082 read number in chinese
查看>>
python实现APP自动化
查看>>
【JS面试】 第十二章 运行环境
查看>>
[Codevs] 1214 线段覆盖
查看>>
RabbitMQ Linux安装
查看>>
编程之美-电梯调度-快速排序-查找第K大数
查看>>
关于SQL锁问题
查看>>
【深度学习之TensorFlow】全连接网络训练中的优化技巧
查看>>
染色的立方体_NOI导刊2010提高(03)
查看>>
enum class的基于namespace的实现
查看>>
世界,你好!
查看>>
static修饰的静态变量与实例变量的区别,及其在初始化和内存中的运行机制详解...
查看>>
HTML与XHTML区别
查看>>
2018-2019-2 网络对抗技术 20165328 Exp3 免杀原理与实践
查看>>
某神秘公司 RESTful、共用接口、前后端分离、接口约定的实践
查看>>
11th 最后的致意
查看>>