leetcode——Missing Number
2016-09-09 00:11
155 查看
原题目:
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?
解析:题目要求在线性复杂度以及常量空间内解决,首先这是一个缺失一个元素的以0为第一项的等差数列,所以可以根据等差数列前n项和公式来解决,补齐缺项,所以要按n+1项来计算,故完整n+1项和为n(n+1),减去数组中的n项和即可得到缺失项的值,算法简单易实现。
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?
解析:题目要求在线性复杂度以及常量空间内解决,首先这是一个缺失一个元素的以0为第一项的等差数列,所以可以根据等差数列前n项和公式来解决,补齐缺项,所以要按n+1项来计算,故完整n+1项和为n(n+1),减去数组中的n项和即可得到缺失项的值,算法简单易实现。
class Solution { public: int missingNumber(vector<int>& nums) { int sum=0, n=nums.size(); for(int i=0; i<n; i++) sum += nums[i]; return (n*(n+1))/2 - sum; } };
相关文章推荐
- Leetcode_Missing Number
- 【LeetCode】268 Missing Number (java实现)
- leetcode 268 : Missing Number
- leetcode 268: Missing Number
- [LeetCode] Missing Number
- LeetCode编程练习 - Missing Number学习心得 4000
- leetcode——268——Missing Number
- 【Leetcode】Missing Number
- leetcode---Missing Number---位
- LeetCode(268) Missing Number
- LeetCode 268 Missing Number
- LeetCode-Missing Number
- Leetcode: Missing Number
- Leetcode--No.268--Missing Number
- leetcode268: Missing Number
- [Leetcode] Missing Number
- LeetCode--Missing Number(查找丢失的整数)Python
- 《leetCode》:Missing Number
- Leetcode -- Missing Number
- Leetcode 268 Missing Number