計算購買水果時間

<?php
a = [ ['time' => 1, 'fruit' => 'apple_1',], ['time' => 5, 'fruit' => 'apple_2',], ['time' => 8, 'fruit' => 'apple_3',], ['time' => 11, 'fruit' => 'apple_4',], ['time' => 16, 'fruit' => 'apple_5',], ['time' => 17, 'fruit' => 'apple_6',], ['time' => 20, 'fruit' => 'apple_7',], ['time' => 24, 'fruit' => 'apple_8',], ['time' => 25, 'fruit' => 'apple_9',], ];b = [
['time' => 4, 'fruit' => 'banana_1', ],
['time' => 7, 'fruit' => 'banana_2', ],
['time' => 8, 'fruit' => 'banana_3', ],
['time' => 12, 'fruit' => 'banana_4', ],
['time' => 17, 'fruit' => 'banana_5', ],
['time' => 18, 'fruit' => 'banana_6', ],
['time' => 23, 'fruit' => 'banana_7', ],
['time' => 27, 'fruit' => 'banana_8', ],
];
c = [ ['time' => 1, 'fruit' => 'lemon_1', ], ['time' => 3, 'fruit' => 'lemon_2', ], ['time' => 5, 'fruit' => 'lemon_3', ], ['time' => 8, 'fruit' => 'lemon_4', ], ['time' => 13, 'fruit' => 'lemon_5', ], ['time' => 16, 'fruit' => 'lemon_6', ], ['time' => 21, 'fruit' => 'lemon_7', ], ['time' => 23, 'fruit' => 'lemon_8', ], ['time' => 29, 'fruit' => 'lemon_9', ], ];time_line = [3,7,12,16,19,23,26];

/**
a,b,c為三框水果上架的時間和水果編號的集合辞做,time_line顧客進(jìn)店的時間點(diǎn)集合,
顧客會購買最近上架或等待購買即將上架的水果(若上架時間與進(jìn)店時間差和即將上架時間與進(jìn)店時間差相等,且已上架的水果未被購買則購買已上架的水果)礼饱,
每個時間點(diǎn)布疼,都會在3框水果去購買
請計算出每個進(jìn)店時間點(diǎn)顧客購買的水果有哪些燕锥。
例如前2個時間點(diǎn)購買的水果:[ 3=>['apple_1', 'banana_1', 'lemon_2', ], 7=>['apple_3', 'banana_2', 'lemon_4', ], ]

php版本語法兼容5.6
*/
//代碼寫在后面,寫完后赚楚,點(diǎn)擊左上角保存按鈕淌友,提示保存成功即可

function test(a,b, c,time_line){
arr_a = [];arr_b = [];
arr_c = [];result = [];

foreach($a as $val){
    $arr_a[$val['time']] = $val['fruit'];
}
unset($val);

foreach($b as $val){
    $arr_b[$val['time']] = $val['fruit'];
}
unset($val);

foreach($c as $val){
    $arr_c[$val['time']] = $val['fruit'];
}
unset($val);

foreach($time_line as $val){
    $res = [];
    
    if($val == isset($arr_a[$val])){
        $res[] = $arr_a[$val];
    }else{
        $res_val = common($val, $arr_a);
        $res[] = $res_val;
        unset($res_val);
    }
    unset($arr_a[$val]);
    
    
    if($val == isset($arr_b[$val])){
        $res[] = $arr_b[$val];
    }else{
        $res_val = common($val, $arr_b);
        $res[] = $res_val;
        unset($res_val);
    }
    unset($arr_b[$val]);
    
    
    if($val == isset($arr_c[$val])){
        $res[] = $arr_c[$val];
    }else{
        $res_val = common($val, $arr_c);
        $res[] = $res_val;
        unset($res_val);
    }
    unset($arr_c[$val]);
    
    $result[$val] = $res;
}
return $result;

}

function common(val,arr){
// 把當(dāng)前val值push到key的數(shù)組中 重新排序 然后取出當(dāng)前val計算得出應(yīng)該取上還是下
arr_keys = array_keys(arr);
array_push(arr_keys,val);
sort($arr_keys);

$search_key = array_search($val, $arr_keys);
if($search_key - 1 < 0){
    $res_val = $arr[$arr_keys[$search_key+1]];
}else{
    if(abs($arr_keys[$search_key] - $arr_keys[$search_key+1]) >= $arr_keys[$search_key] - $arr_keys[$search_key-1]){
        $res_val = $arr[$arr_keys[$search_key-1]];
    }else{
        $res_val = $arr[$arr_keys[$search_key+1]];
    }
}
return $res_val;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末煌恢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子震庭,更是在濱河造成了極大的恐慌瑰抵,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件器联,死亡現(xiàn)場離奇詭異谍憔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)主籍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逛球,“玉大人千元,你說我怎么就攤上這事〔疲” “怎么了幸海?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵祟身,是天一觀的道長。 經(jīng)常有香客問我物独,道長袜硫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任挡篓,我火速辦了婚禮婉陷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘官研。我一直安慰自己秽澳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布戏羽。 她就那樣靜靜地躺著担神,像睡著了一般。 火紅的嫁衣襯著肌膚如雪始花。 梳的紋絲不亂的頭發(fā)上妄讯,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機(jī)與錄音酷宵,去河邊找鬼亥贸。 笑死,一個胖子當(dāng)著我的面吹牛忧吟,可吹牛的內(nèi)容都是我干的砌函。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼溜族,長吁一口氣:“原來是場噩夢啊……” “哼讹俊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起煌抒,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤仍劈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后寡壮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贩疙,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年况既,在試婚紗的時候發(fā)現(xiàn)自己被綠了这溅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡棒仍,死狀恐怖悲靴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情莫其,我是刑警寧澤癞尚,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布耸三,位于F島的核電站,受9級特大地震影響浇揩,放射性物質(zhì)發(fā)生泄漏仪壮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一胳徽、第九天 我趴在偏房一處隱蔽的房頂上張望积锅。 院中可真熱鬧,春花似錦膜廊、人聲如沸乏沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹬跃。三九已至,卻和暖如春铆铆,著一層夾襖步出監(jiān)牢的瞬間蝶缀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工薄货, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留翁都,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓谅猾,卻偏偏與公主長得像柄慰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子税娜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348