从数组中查找最高帐单(注释)

时间:2018-03-16 08:20:22

标签: php math logic

我需要从一系列笔记中找到最高音符。我已经有了找到最高的代码,但是我需要获取该数组并找到最高的数组。我一直难以想象这一点。

$famount = $number;
$denom = array(1000, 2000, 5000, 10000, 20000, 50000);

function coin_change ($amount, $bills)
{
  $change = array();
  rsort($bills);
  for($i=0; $i<count($bills); $i++) {
    $change[$bills[$i]] = floor($amount/$bills[$i]);
    $amount = $amount % $bills[$i];
    echo $bills[$i] . " " .$change[$bills[$i]] ."<br>";
  }
    return $change;
} 

$money = coin_change($famount, $denom);

使用上面的代码,我传入一个输入的变量,它会在数组中看到最高的账单。怎么可能拿这些账单然后找到最高的账单呢?

上述函数的预期示例结果:

50000:1

20000:0

10000:1

5000:1

2000:1

1000:1

基于上述结果的预期结果:

50000:0

20000:2

10000:1

5000:2

1000:3

谢谢。

1 个答案:

答案 0 :(得分:0)

如果只添加非零的注释,则可以回显返回数组中的第一个键。

$denom = array(1000, 2000, 5000, 10000, 20000, 50000);

function coin_change ($amount, $bills)
{
   $change = array();
   rsort($bills);
   for($i=0; $i<count($bills); $i++) {
       If($bills[$i] <= $amount){ // only add notes that is more than one
           $change[$bills[$i]] = floor($amount/$bills[$i]);
           $amount = $amount % $bills[$i];
           echo $bills[$i] . " " .$change[$bills[$i]] ."<br>\n";
       }
    }
    return $change;
} 

$money = coin_change(15000, $denom);
//$money = [10000, 5000];

// Echo only the first note (largest)
Foreach($money as $key => $m){
    Echo $key; // 10000
    Break;
}

https://3v4l.org/Ko5SV