缺失的数字

Posted wx5add7776993de

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缺失的数字相关的知识,希望对你有一定的参考价值。


给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。

示例 1:

输入: [3,0,1]
示例 2:

输入: [9,6,4,2,3,5,7,0,1]
package 数组;

/**
* @Auther: Kevin
* @Date:
* @ClassName:NumberMissing
* @Description: TODO
*/
public class NumberMissing

/**
* <h>
* 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。
* </h>
*
* <li>
* 示例 1:
* 输入: [3,0,1]
* 输出: 2
* </li>
*
* <li>
* 示例 2:
* 输入: [9,6,4,2,3,5,7,0,1]
* 输出: 8
* </li>
*/

/**
* 求缺失数字
* @param nums
* @return
*/
public static int missingNumber(int[] nums)
int n = nums.length+1;
System.out.println("--------> "+n);
return getNTotal(n) - getNumsTotal(nums);


/**
* 求数组和
* @param nums
* @return
*/
public static int getNumsTotal(int[] nums)
int total = 0;
for(int i : nums)
total += i;

System.out.println("数组和 ---》"+total);
return total;


/**
* 前n项和
* @param n
* @return
*/
public static int getNTotal(int n)
int i = ((0+(n-1))*n)/2;
System.out.println("前n项和 ---->"+i);
return i;


public static void main(String[] args)
int[] arr = 3,0,1 ;
System.out.println("--------》"+missingNumber(arr));

思路:

前n项和 - 数组各项和 = 缺失数字


以上是关于缺失的数字的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题-消失的两个数字

给定一个数字序列如何识别缺失的数字

每日一练(25): 0~n-1中缺失的数字

WEKA:如何区分“缺失”和“不适用”的数字数据?

268. 缺失数字

怎样查出连续数字中缺失的数字