码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 268. Missing Number (缺失的数字)

时间:2017-09-09 13:01:40      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:tin   tar   java   日期   using   blank   extra   ssi   ini   

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?

 


 

题目标签:Array

  题目给了我们一个nums array, array 里是从0 到n 的所有数字, 但是会缺失一个,让我们找出来,数字的排列不是有序的。

  既然我们知道n,而且数字是从0 到 n 的,可以利用等差数列求和公式 0.5 * n * (n+1) 求出总和, 再遍历一次nums 算出实际的sum, 然后差值就是缺失的那个数字了。

 

Java Solution:

Runtime beats 49.88% 

完成日期:04/27/2017

关键词:Array

关键点:等差数列求和公式

 

 1 public class Solution 
 2 {
 3     public int missingNumber(int[] nums) 
 4     {
 5         int size = nums.length;
 6         
 7         int sum2 =  (size * (size + 1)) / 2;
 8         
 9         int sum1 = 0;
10         
11         for(int i=0; i < size; i++)
12             sum1 += nums[i];
13         
14         return (sum2 - sum1);
15     }
16 }

参考资料:N/A

 

LeetCode 算法题目列表 - LeetCode Algorithms Questions List

 

LeetCode 268. Missing Number (缺失的数字)

标签:tin   tar   java   日期   using   blank   extra   ssi   ini   

原文地址:http://www.cnblogs.com/jimmycheng/p/7497613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!