題目如下,
給定乙個字串的集合,格式如:
, ,,,
要求將其中交集不為空的集合合併,要求合併完成後的集合之間無交集,例如上例應
輸出 ,,
(1)請描述你解決這個問題的思路;
(2)請給出主要的處理流程,演算法,以及演算法的複雜度
(3)請描述可能的改進(改進的方向如效果,效能等等,這是乙個開放問題)。
我查了查網上的解法,只看到乙個(參見我有一點新想法,說明如下:
1. 首先得到所有元素的集合(aaa, bbb, ccc, ddd, eee, fff, ggg, hhh),複雜度o(n),n是所有元素的個數;
2. 為所有集合標記乙個二進位制數,來表示包含哪些集合,得到陣列int bina[5]複雜度o(n^2);
如題,= 1 1 1 0 0 0 0 0,
= 0 1 0 1 0 0 0 0,
= 0 0 0 0 1 1 0 0,
= 0 0 0 0 0 0 1 0,
= 0 0 0 1 0 0 0 1,
3. 然後寫乙個函式,判斷int陣列中的第乙個元素是否與其他元素&操作為空,複雜度為o(m),m是原集合的個數
a. 為空則輸出該元素對應的集合,並刪除第乙個元素,遞迴呼叫本方法;
b. 不為空則與那個元素做或操作合併,刪除那個元素,遞迴呼叫本方法;
c. 如果只剩下乙個元素則輸出其對應的字串;
4. 所有的結合已經得到了。
scala合併有序集合
problem 你想要把兩個集合合併為乙個集合,要麼包含兩集合所有的元素,要麼包含兩個集合的相同元素,要麼包含兩個集合的不同元素。solution 對於這個問題有很多解決方案,用哪種取決於你的需要 使用 方法來合併集合到乙個mutable集合,比如arraybuffer scala val a co...
將多個集合合併成沒有交集的集合
2010 03 20 18 25 給定乙個字串的集合,格式如 要求將其中交集不為空的集合合併,要求合併完成後的集合之間無交集,例如上例應輸出,1 請描述你解決這個問題的思路 2 請給出主要的處理流程,演算法,以及演算法的複雜度 3 請描述可能的改進。解決方案 採用hash的方法,key為字串,val...
合併有資料的列
bom資料排序及分級顯示 示例資料 create table t1 name varchar 20 col1 varchar 2 col2 varchar 2 col3 varchar 2 insert t1 name,col1,col2,col3 select a 1 union all sele...