zoukankan      html  css  js  c++  java
  • LeetCode Array Easy 268. 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.

    Example 1:

    Input: [3,0,1]
    Output: 2

    Example 2:

    Input: [9,6,4,2,3,5,7,0,1]
    Output: 8

    Note:
    Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?

     问题描述,一个数组包含n个不重复的数从0,1,2,3,...n 找到那个不在数组中的数

    我的思路:先将数组排序再进行比较.但是这样子效率很低,时间复杂度在O=n+排序所需时间;

    public int MissingNumber(int[] nums) {
            Array.Sort(nums);
           
            for(int i=0; i < nums.Length; i++){
                if(i != nums[i])
                    return i;
            }
            return nums.Length;
        }

    第二种思路: 从0到n的和为(0+n)(n+1)/2 再计算数组的和。两和的差就是结果。该算法时间复杂度为O(n) 

    public int MissingNumber(int[] nums) {
            int n = nums.Length;
            int sum = n*(n+1)/2;
            int sums = nums.Sum();
            return sum-sums;
        }

  • 相关阅读:
    django url路由
    web 协议
    动画效果 each循环
    页面载入
    js 事件 事件委托
    jQuery 文档操作
    jQuery 标签操作 样式操作
    筛选器方法
    jQuery 介绍
    js操作属性 类操作 事件
  • 原文地址:https://www.cnblogs.com/c-supreme/p/9584056.html
Copyright © 2011-2022 走看看