限制條件下元素之間的最小絕對(duì)差
LeetCode Link:?https://leetcode.cn/problems/minimum-absolute-difference-between-elements-with-constraint/description/
這個(gè)題目核心問(wèn)題在于應(yīng)該從X之后計(jì)算,而不是從頭開(kāi)始算。
從前往后看的時(shí)候,因?yàn)樾枰紤]后續(xù)坐標(biāo)大于當(dāng)前坐標(biāo)+X的所有的數(shù)據(jù),因此會(huì)陷入循環(huán)的苦海中。
從X之后的數(shù)據(jù)看,只需要考慮當(dāng)前位置前的數(shù)據(jù),也就是[0,curIndex-X]這個(gè)區(qū)間的數(shù)據(jù),而這個(gè)區(qū)間的數(shù)據(jù)可以采用TreeSet進(jìn)行存儲(chǔ),可以高效的取出值比當(dāng)前位置大的數(shù)據(jù)和比當(dāng)前位置小的數(shù)據(jù)并且進(jìn)行計(jì)算得到結(jié)果。
代碼如下:
標(biāo)簽: