用于排序数组中最后一个重复元素的 PHP 程序
我们有一个带有重复元素的排序数组,我们必须找到最后一个重复元素的索引并打印它的索引并打印重复元素。如果没有找到这样的元素,则打印一条消息。
例子:
Input : arr[] = {1, 5, 5, 6, 6, 7}
Output :
Last index: 4
Last duplicate item: 6
Input : arr[] = {1, 2, 3, 4, 5}
Output : No duplicate found
我们只需以相反的顺序遍历数组并比较当前元素和前一个元素。如果找到匹配项,则打印索引和重复元素。由于这是已排序的数组,因此它将是最后一个副本。如果没有找到这样的元素,我们将为它打印消息。
1- for i = n-1 to 0
if (arr[i] == arr[i-1])
Print current element and its index.
Return
2- If no such element found print a message
of no duplicate found.
PHP
0; $i--)
{
if ($arr[$i] == $arr[$i - 1])
{
echo "Last index:", $i , "
";
echo "Last duplicate item:", $arr[$i];
return;
}
}
// If we reach here, then
// no duplicate found.
echo "no duplicate found";
}
// Driver Code
$arr = array(1, 5, 5, 6, 6, 7, 9);
$n = count($arr);
dupLastIndex($arr, $n);
// This code is contributed by anuj_67.
?>
输出:
Last index: 4
Last duplicate item: 6
有关详细信息,请参阅有关排序数组中最后一个重复元素的完整文章!