针对掷骰子代码谜题的优化解决方案


Optimized solution for a rolling dice code puzzle

在一次采访中,我被要求提供这个掷骰子问题的解决方案。当我向他展示我的解决方案时,他说还有另一种方法可以找到解决方案。我只是在PHP脚本中寻找答案。

问题:

两个人在玩掷两个骰子的游戏。每个人将两个骰子掷n次,并记录所有n次尝试的结果(两个骰子的值之和)。因此,在两个玩家都尝试了n次之后,我们有两个列表,对应于两个玩家的n个结果。

他们想知道他们是否得到了所有可能的结果(1到12)相同的次数。如果他们得到所有可能的结果的次数相同,那么他们就被称为幸运或不幸运。

输入:两个整数数组(L1,L2),对应两个玩家的结果。

输出:幸运还是不幸取决于的情况

我的答案:

<?php
function rollingdice($input1,$input2)
{
  foreach($input1 as $k=>$a)
  { 
    if(in_array($a,$input2))
    {$p = array_search($a, $input2);
     unset($input2[$p]);
    }
    else
    { return 'Unlucky';}
  }
return 'Lucky';
}
?>
<?php
function rollingdice($input1,$input2)
{
  $a = array_count_values($input1);
  $b = array_count_values($input2);
  if(array_diff_assoc($a,$b) || array_diff_assoc($b,$a)) { return 'Unlucky';}
  return 'Lucky';
}