廣告與內容排序合併算法

這是在項目中遇到的一個問題,以爲有趣就分享出來。看問題描述:編程

如今有兩個數據來源,一個是節目的結構體列表數據(10個每頁),一個是廣告的結構體列表數據。.net

節目結構體列表按照用戶的偏移值index=0、十、20、30……來獲取數據。blog

廣告能夠插入到節目列表的任何指定位置,例如position=二、四、八、十二、1四、1八、2二、2四、2八、32。博客

要求:客戶端上來獲取內容時,帶上廣告。內容數據和廣告數據不能缺乏丟失展現,廣告的位置不可錯亂。it

----------------------------------------------------------------------------------------------------io

這裏有個坑,假如客戶端上來獲取index=0頁面,把廣告的二、四、8插進節目列表指定位置。而後就會發現,10個節目+3個廣告=13個展現位,那麼第12個廣告已經沒法展現出來。因此第一頁不單單會返回二、四、8廣告。分頁

----------------------------------------------------------------------------------------------------請求

爲了減小客戶端每次上來須要動態計算位置的量,加快速度,咱們能夠提早算好每頁的廣告位置。數據

例如,廣告位二、四、八、十二、1四、1八、2二、2四、2八、32爲廣告位播客,而後當客戶端的分頁請求來到,第一頁、第二頁、第三頁分別獲取的廣告位是哪些?這些廣告位在當前頁的相對位置又是多少?編程實現吧,騷年!客戶端

 

答案:

第一頁二、四、八、十二、14,相對位置二、四、八、十二、14

第二頁1八、2二、2四、28,相對位置三、七、九、13

第三頁32,相對位置3

 

原創博客,轉帖請註明原出處:http://my.oschina.net/u/223522/blog/726735

相關文章
相關標籤/搜索