PHP |数组中第二频繁的元素
给定一个数组,我们必须找到其中出现频率第二高的元素。
例子:
Input : array(3, 3, 4, 5, 5, 5, 9, 8, 8, 8, 8, 8);
Output : Second most frequent element is: 5
Input : array("geeks", "for", "geeks");
Output : Second most frequent element is: for
上述问题可以在其他语言中使用循环方法解决,但在PHP中我们已经内置了函数来执行此任务。功能描述如下:
- array_count_values() :此函数用于计算所有元素的频率并返回关联的数组,其中包含值作为键和频率作为值。
- arsort() :此函数用于以相反的顺序对元素进行排序并维护关联的索引。
- array_keys() :此函数返回一个包含所有键或子集的数组。
方法:首先,我们使用array_count_values创建一个包含所有元素的频率的新数组,其中值作为键,计数作为值。
使用arsort以相反的顺序对新数组进行排序,然后使用array_keys获取已排序数组的所有键。第二个键将是原始数组中第二频繁的元素。
下面是上述方法的说明:
示例 1:
输出:
Second most frequent element is: 4
示例 2:
输出:
Second most frequent string is: for