問題描述例如有一個數(shù)組,存儲的是一些整點(diǎn)數(shù)據(jù),無排序無規(guī)律,ex:$hours=[1,3,6,2,13,16,18,20];現(xiàn)在需要快速得出當(dāng)前時間最接近的整點(diǎn)數(shù),如果當(dāng)前整點(diǎn)在數(shù)組內(nèi),則為當(dāng)前整點(diǎn),如果不在,則獲取下一個最接近的整點(diǎn)數(shù),依次類推。整點(diǎn)數(shù)應(yīng)該大于等于當(dāng)前整點(diǎn),但是得判斷跨天的情況,列如當(dāng)前時間點(diǎn)是21點(diǎn),那符合條件的應(yīng)該是1。問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法因?yàn)槭菚r間整點(diǎn),所以是24進(jìn)制,沒法直接判斷最臨近的數(shù),所以目前想到的辦法是循環(huán)這個數(shù)組,依次拼接出各個時間戳(還得判斷是否為跨天),然后當(dāng)前時間戳做減法,取絕對值,然后按照這個差值進(jìn)行排序,獲取符合條件的數(shù),總覺得效率不高,請問有更好的解法嗎?
急求?。。?!PHP 獲取下一個符合條件的整點(diǎn)數(shù)
慕工程0101907
2019-10-31 10:20:42