268. Missing Number
2017-02-09 15:25
211 查看
问题链接:https://leetcode.com/problems/missing-number/
Given an array containing n distinct numbers taken from
find the one that is missing from the array.
For example,
Given nums =
Note:
Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?
刚开始采用新建一个标志位数组的方式,数组长度为nums.length+1,flag[nums[i]] i=0...n-1当出现那个数组元素为最初填充的-1时表示该位为missing
但是效率太低且空间复杂度为线性。
运用n个数的累加和的方式完成。时间常数,空间线性
public class Solution {
public int missingNumber(int[] nums) {
if(nums==null || nums.length==0)
return 0;
int len = nums.length;
int sum = len*(len+1)/2;
for(int i=0;i<len;i++) {
sum-=nums[i];
}
return sum;
}
}
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.length+1,flag[nums[i]] i=0...n-1当出现那个数组元素为最初填充的-1时表示该位为missing
但是效率太低且空间复杂度为线性。
运用n个数的累加和的方式完成。时间常数,空间线性
public class Solution {
public int missingNumber(int[] nums) {
if(nums==null || nums.length==0)
return 0;
int len = nums.length;
int sum = len*(len+1)/2;
for(int i=0;i<len;i++) {
sum-=nums[i];
}
return sum;
}
}
相关文章推荐
- 268. Missing Number
- Leetcode——268. Missing Number
- 2018.03.15 leetcode 打卡 #268. Missing Number
- 268. Missing Number
- 【leetcode】268. Missing Number
- 268. Missing Number
- 268. Missing Number
- [LeetCode]268. Missing Number(求数组中缺失的元素)
- 268. Missing Number
- <LeetCode OJ> 268. Missing Number
- 268. Missing Number
- 【leetcode】268. Missing Number
- LeetCode 268. Missing Number
- LeetCode:268. Missing Number
- [LeetCode] 268. Missing Number
- 268. Missing Number
- 2018.03.15 leetcode 打卡 #268. Missing Number
- 268. Missing Number
- 268. Missing Number
- 268. Missing Number