您的位置:首页 > 编程语言 > Java开发

LeetCode-268. Missing Number (Java)

2017-07-01 14:37 281 查看
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
.

Note:

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

----------------------------------------------------------------------------------------------------------------

思路

按照我的思路,先对数组进行了排序,然后对nums长度进行判断,然后对nums的元素进行判断,然后循环。。。。。。

最后耗时惨不忍睹。最后参考一下其他已提交的代码。

代码

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

这个对数组进行求和,然后与等差公式计算的和求差,计算结果即missing number。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息