【LeetCode】Missing Number 解题报告

来源:互联网 发布:热情高涨读音 知乎 编辑:程序博客网 时间:2024/06/01 10:43

【LeetCode】Missing Number 解题报告

标签(空格分隔): LeetCode


题目地址:https://leetcode.com/problems/missing-number/#/description

题目描述:

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?

Ways

因为数字是从0, 1, 2, …, n中抽走一个,因此,该数字的值是0, 1, 2, …, n的和减去现有数字的和。

public class Solution {    public int missingNumber(int[] nums) {        int sum = 0;        int len = nums.length;        for(int i = 0; i < len; i++){            sum += nums[i];        }        return len * (len + 1)/2 - sum;    }}

方法二:使用异或。

public int missingNumber(int[] nums) { //xor    int res = nums.length;    for(int i=0; i<nums.length; i++){        res ^= i;        res ^= nums[i];    }    return res;}

Date

2017 年 4 月 21 日

0 0
原创粉丝点击