📜  PHP程序从数组中查找缺失的元素

📅  最后修改于: 2022-05-13 01:56:33.906000             🧑  作者: Mango

PHP程序从数组中查找缺失的元素

我们必须从数组最小值到数组最大值的范围内找到数组中缺失的元素。

例子:

Input : arr[] = (1, 2, 3, 4, 6, 7, 8)
Output : 5
The array minimum is 1 and maximum is
8. The missing element in range from
1 to 8 is 5.

Input : arr[] = (10, 11, 14, 15)
Output : 12, 13

通过观察元素之间的连续差异,可以通过在数组中迭代来解决这个问题。但是在PHP中我们可以利用一些内置函数来解决这个问题。

为此,我们将不得不使用以下两个函数:

  1. range()函数:此函数用于创建任何类型的元素数组,例如整数、给定范围内的字母(从低到高),即列表的第一个元素被认为是低元素,最后一个元素被认为是高元素。
  2. array_diff()函数:如果我们有一个元素数组,我们可以通过比较两个数组来找到缺失的元素。

使用两个内置函数解决这个问题的想法是,首先使用 range()函数从原始数组的起始元素和使用 max()函数的最大元素创建一个新数组。在此之后,我们应用 array_diff()函数来比较新创建的数组和原始数组,从而得到原始数组的所有缺失元素。


输出:

Array
(
    [4] => 5
    [5] => 6
)
Array
(
    [3] => 13
)