Middle-题目6:268. Missing Number

题目原文:
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.
题目大意:
给出从自然数列0,1,2….n中去掉一个数之后的数组,求出去掉的数。
题目分析:
求这个数组的和,然后用等差数列前n项和Sn=n(n+1)/2减它,得到的就是缺的数。
源码:(language:java)

public class Solution {
    public int missingNumber(int[] nums) {
        int sum=0,n=nums.length;
        for(int num:nums)
            sum+=num;
        return n*(n+1)/2-sum;
    }
}

成绩:
1ms,beats 37.49%,众数1ms,62.51%
Cmershen的碎碎念:
有10个箱子,每箱里有很多个产品,每个产品质量是10g,其中有一箱是次品,次品每个质量是9g,那么使用一个秤,只称一次,如何找出哪箱装的是次品?
这道大家耳熟能详的小学脑筋急转弯题与本题似有异曲同工之妙。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值