比如有[1,2]和[1,3,4]兩組數(shù)組,每組取一個(gè)數(shù)字,根據(jù)size,組成新的數(shù)組。如size為2,則結(jié)果為[[1,1],[1,3],[1,4],[2,1],[2,3],[2,4],[3,1],[4,1],[2,1],[3,2],[4,2]];如果size為3,則結(jié)果為[[1,1,3],[1,1,4],[1,3,4]...以此類推]大概就是一個(gè)函數(shù) fun(arr1,arr2,size)然后得到一個(gè)新的數(shù)組
1 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
把他們丟進(jìn)一個(gè)set里,然后剩下的就是 n個(gè)不重復(fù)數(shù)字能組成多少個(gè)指定size的數(shù)組 問題了
也就是 (n-size+1)*(n-size)/2
額,仔細(xì)看了下,要分兩步,第一步先拆分size,第二步再取數(shù)
取數(shù)還是可以套用上面的算法,拆分的算法也較好實(shí)現(xiàn)
大概步驟:
計(jì)算較短,較長(zhǎng)數(shù)組長(zhǎng)度,記為min,max
然后將min與size比較,取較小為臨界值(flag)
剩下的就是從min長(zhǎng)度數(shù)組里取flag個(gè)數(shù),從max取size-flag個(gè)數(shù)
然后flag--
具體的邏輯判斷還要更詳細(xì)一點(diǎn),大概思路就是這樣了
添加回答
舉報(bào)
0/150
提交
取消