2014-01-17 38 views
3

以下矩陣中的第二行包含兩個3。所有其他行不包含重複項。過濾掉包含重複數字的行

A = [1 2 3; 
    1 3 3; 
    4 5 6] 

什麼是一種有效的方法來過濾包含重複的行,使得結果如下?

A = [1 2 3; 
    4 5 6] 

回答

4

我認爲這是相當快的:

A(all(diff(sort(A,2),[],2), 2), :); 

如果AM×N,那麼這樣的複雜性是O(M·N·log(N)) ......我有一種預感,這是最快的方式可能的,但我米無法證明這一點。任何人?

+0

我認爲你是對的。 'sort' /'diff'方法非常快。 – chappjc