比如有[1,2]和[1,3,4]兩組數(shù)組,每組取一個數(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]...以此類推]大概就是一個函數(shù) fun(arr1,arr2,size)然后得到一個新的數(shù)組
1 回答
小怪獸愛吃肉
TA貢獻1852條經(jīng)驗 獲得超1個贊
把他們丟進一個set里,然后剩下的就是 n個不重復數(shù)字能組成多少個指定size的數(shù)組 問題了
也就是 (n-size+1)*(n-size)/2
額,仔細看了下,要分兩步,第一步先拆分size,第二步再取數(shù)
取數(shù)還是可以套用上面的算法,拆分的算法也較好實現(xiàn)
大概步驟:
計算較短,較長數(shù)組長度,記為min,max
然后將min與size比較,取較小為臨界值(flag)
剩下的就是從min長度數(shù)組里取flag個數(shù),從max取size-flag個數(shù)
然后flag--
具體的邏輯判斷還要更詳細一點,大概思路就是這樣了
添加回答
舉報
0/150
提交
取消
