推薦結果打散

2021-10-22 21:30:07 字數 2035 閱讀 2519

輸入描述:

第一行輸入為乙個整數n(1~10),表示每n個結果裡最多出乙個結果

第二行輸入為乙個整數m(1~100),表示有m個待處理的推薦結果

第三行~第2+m行為具體的 m 個待處理結果,每行具體為:字串 v_ 或 p_ 打頭,後面接輸入時0~m-1的順序標號

輸入描述:

第1行為k,表示打散處理後結果的長度

第2~k+1行為打散後的結果,具體為:字串 v_ 或 p_ 打頭,後面接輸入時 0~m-1 的順序標號

list>

param = new arraylist<>();

param.add("v_0");

param.add("v_1");

param.add("v_2");

param.add("p_3");

param.add("p_4");

param.add("p_5");

param.add("v_6");

param.add("p_7");

param.add("v_8");

param.add("v_9");

如上 m=10 當 n=3 時,

輸出應為:v_0 v_1 v_2 p_3 v_6 v_8 p_4 v_9 最終結果 每三個元素中 最多有乙個 picture

/**

* 推薦結果打散

* @param picandvideo 用 list 代表輸入的 m 行資料

* @param maxinterval 用 maxinterval 代表 n ,表示每 maxinterval 中最多允許乙個 出現

* @return 最終打散的結果集

*/public list

getrecommendresult

(list

picandvideo,

int maxinterval)

// 首先定義乙個結果集

list

result =

newarraylist

<

>()

;// 假如第乙個 是 video 那麼可以直接新增到結果集中去

boolean firstpic =

false

;int index =0;

while

(!firstpic && index <= picandvideo.

size()

)else

}// 此時 處理完畢,若是入引數 中沒有乙個 picture 直接返回

int currentsize = result.

size()

;if(currentsize == picandvideo.

size()

)// 分離剩餘的結果

queue

pic =

newlinkedlist

<

>()

; queue

vid =

newlinkedlist

<

>()

;while

(index <= picandvideo.

size()

)else

index++;}

// 分離完畢,開始往結果集中放

while

(!pic.

isempty()

&&!vid.

isempty()

)else

}// 處理完畢,如果 vid 不為空,全部加入到結果集中去

while

(!vid.

isempty()

)// 如果此時 currentsize >= maxinterval-1 且恰好 pic 不為空if(

!pic.

isempty()

&& currentsize >=

(maxinterval -1)

)return result;

}

mysql根據相關匹配度推薦結果

專案要求 1.優先匹配胖瘦 身高 風格全部一致的 2.如果沒有找到或內容出完,匹配胖瘦和身高一致的 3.如果沒有找到或內容出完,匹配胖瘦一致的 4.如果沒有找到或內容出完,匹配任意條件一致的 5 如果沒有找到或內容出完,不再推送資料 sql寫法 select user id,user icon,us...

上傳檔案中的目錄優化 打散

思想 核心 去顯示 request.setattribute filename dir1 dir2 newname request.getrequestdispatcher jsps show.jsp forward request,response img.put newname dir1 dir...

樣本打散後計算單特徵 NDCG

能計算模型的 ndcg,也就能計算單特徵的 ndcg,用於評估單特徵的有效性,跟 group auc 用途一樣 如果是 auc,越大於或小於 0.5,特徵越有效,但 ndcg 沒有這個特點,ndcg 都是正的,而且,樣本正負比例不同,ndcg 的值也不同,變化很大。那麼在同樣的樣本下,就需要有個基準...