如下表所示:
从0~9选择数值补齐表格;
要求:
1、填写的值等于其对应的原始数据值在答案行出现的次数。
2、构造数据结构,选择合适的算法或处理逻辑,得出正确的结果
原始数据 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
答案 | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
答案:
public function run() { @set_time_limit(0); @ini_set('memory_limit', '2048M'); //构造数据结构 $arcs = array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0); for($j=9;$j>0;$j--){ $elements = $arcs; $elements[0] = $j; $res = $this->handleArr($elements); $couValue = array_count_values($res); if($couValue[0] == $j){ var_export($res); } } } public function handleArr($arr){ while(true){ $couValues = array_count_values($arr); foreach($couValues as $key => $value){ if($key == 0) continue; $arr[$key] = $value; if($value > 1){ $arr[$value] = 1; } } if(array_sum($arr) >= 10) break; } return $arr; }