您的位置:首页 > 其它

268. Missing Number

2017-09-26 09:21 169 查看

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?

Credits:

 

一串连续的数,找到缺的那个

 

C++(22ms):

1 class Solution {
2 public:
3     int missingNumber(vector<int>& nums) {
4         int len = nums.size() ;
5         int sum = (0+len)*(len+1)/2 ;
6         for(int i = 0 ; i < len ; i++){
7             sum -= nums[i] ;
8         }
9         return sum ;
10     }
11 };

 

C++(26ms):

1 class Solution {
2 public:
3     int missingNumber(vector<int>& nums) {
4         int len = nums.size() ;
5         int res = len ;
6         for (int i = 0 ; i < len ; i++){
7             res ^= i ^ nums[i] ;
8         }
9         return res ;
10     }
11 };

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: