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