【问题标题】:How to find count of non-unique elements of array in php using stdin for input如何使用标准输入在php中查找数组的非唯一元素的数量作为输入
【发布时间】:2017-07-03 17:42:39
【问题描述】:

以下将是 STDIN 上的输入。

第一行包含一个整数 n,表示数字数组的大小。

n 后续行(其中 0 ≤ i

我想将表示数字中非唯一值数量的整数打印到 STDOUT。

示例输入

8 1 3 1 4 5 6 3 2

样本输出

2

【问题讨论】:

标签: php arrays stdout stdin


【解决方案1】:

尝试使用array_unique()count() 函数:

$array = [];
while ($in = fread(STDIN, 1024)) { 
   $array = array_merge($array, explode("\n", $in)); 
}

array_shift($array);

echo (count($array) - count(array_unique($array)));

【讨论】:

  • 您需要从数组中删除 8,因为它是(如原始问题中所述)以下整数序列的长度
  • 感谢您的支持。高度赞赏。问题是我知道如何使用 array_unique 和 count 来执行此操作,但不知道如何通过 STDIN 读取数据并将其存储在 $array 中。
  • 使用array_shift($array);从数组@FlorianSchöffl中删除第一个元素
  • 试试while ($in = fread(STDIN, 1024)) { $array = array_merge($array, explode("\n", $in)); } @JatinPurswani
  • 谢谢米斯。但我猜这也会在数组中采用第一个值 8 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多