给你一个包含 1 到 n 整数组,但从 1 到 n 丢失了一个数字。您需要提供最好的解决方案来找到丢失的数字。数组中的数字不能重复。# s+ e. z6 H: b" E1 o q$ n/ r; c
例如: # c! m# {9 P H# }! h8 F4 lint[] arr1={7,5,6,1,4,2};Missing numner : 3int[] arr2={5,3,1,2};Missing numner :4 P8 _6 y, W/ P' E解决方案: $ T+ L* R% T- o" \: { g5 C1 ~; Z 使用公式 n=n*(n 1)/2 求 n 数字总和 + r1 G2 y6 l* p0 V% r找到给定数组中存在的元素的总和。' N2 C% @: W7 |2 ]! n7 R' [
减法(n 个数总和 - 数组中存在的元素总和)。9 F5 [: n, C6 H! ^8 t4 F* K
找出数组中缺失的数字Java程序:+ A! V+ B( K- P
package org.arpit.java2blog;public class MissingNumberMain public static void main(String[] args) int[] arr1={7,5,6,1,4,2}; System.out.println("Missing number from array arr1: " missingNumber(arr);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;int[] arr2={5,3,1,2}System.out.println("Missing number from array arr2: " missingNumber(arr2); public static int missingNumber(int[] arr) int n=arr.length 1; int sum=n*(n int restSum=0; for (int i = 0; i 当您操作上述程序时,您将获得以下输出:$ [6 s- _1 c& t. `( I4 e
Missing number from array arr1: 3Missing number from array arr2:4