php - 如何在 PHP 中输​​出 HackerRank 的简单数组求和挑战?

标签 php arrays

我只是想熟悉 HackerRank 环境并练习一些问题。

我正在尝试算法中的第二个挑战>热身: Simple Array Sum

我已经解决了它并且它在我的本地机器上工作正常。

Code:
<?php

function testSum($n,$x)
{
   $sum=0;  
   $x =explode(" ",$x);
    for($i=0;i<$n;$i++)  
        {  
        $sum+=$x[$i];  
    }  
    echo $sum;
}
$handle = fopen ("php://stdin","r");
fscanf($handle,"%d",$n);
$arr_temp = fgets($handle);
$arr = explode(" ",$arr_temp);
array_walk($arr,'intval');

?>

但它每次都给我同样的回应: Response on running code.

请帮助我如何在 hackerrank 中打印结果以及我在这里缺少什么。谢谢

最佳答案

我不是第一个,但让我试试(我的也在 hackerrank.com 上工作:)

<?php
/* simple solution for https://www.hackerrank.com/challenges/simple-array-sum */

/* Read and parse input */
$handle = fopen ('php://stdin', 'r');
fscanf($handle, '%d', $n);
$numbers = explode(' ', fgets($handle));
array_walk($numbers, function (&$value) {
    $value = intval($value);
});

/* result: http://php.net/manual/en/function.array-sum.php */
echo array_sum($numbers);

简单的一步一步的解释

  1. Read user input - 查看文档中的示例。
  2. fscanf这里真的不需要。在我们的例子中,它从输入中读取数字并将值存储在 $n 变量中。检查format description在文档中。
  3. fgets($handle)读取一个字符串。接下来我们使用 explode 将字符串拆分为数组.这些都是非常基本且经常使用的 PHP 函数,请确保熟悉它们并阅读文档。
  4. 我们遍历 ( array_walk ) 数组并将所有元素转换为整数。我们使用 anonymous function在这个例子中。这是一种更高级的技术,可能会在此处跳过。
  5. 最后我们使用 array_sum 计算并输出总和功能。

关于php - 如何在 PHP 中输​​出 HackerRank 的简单数组求和挑战?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36881005/

相关文章:

php - 如何在 PHP 中返回正则表达式匹配,而不是替换

php - 使用 SQL 变量在 WordPress php 中回显图像

javascript - 重新组织对象的javascript数组

php - 比较对象数组

javascript - 如何将一个数组值链接到另一个数组值?

php - docker + wordpress 安装 = 错误 500

php - 当我添加 root 密码时,XAMPP 未将 "unsecure"更新为 "secure"

php - 我可以为 MPDF 的最后一页设置特定的页脚吗?

c++ - 在 C++ 中使用指向 char 数组的指针

arrays - Matlab 中带有 uigetfile 的非元胞数组