0
我正在尋找一種智能方式來將具有相似值(不一定按相同順序)的任意數量的數組分組。我正在使用的語言是紅寶石,但我想這個問題是相當語言不可知的。如何將具有相似值的數組分組
鑑於
a = ['foo', 'bar']
b = ['bar', 'foo']
c = ['foo', 'bar', 'baz']
d = ['what', 'ever', 'else']
e = ['foo', 'baz', 'bar']
我想有,告訴我一個函數,
- 一個& b是一組
- Ç& e爲一組
- d是它自己的組
我可以想到一些不那麼聰明的做法,效率非常低,就像我可以比較每個數組的值與其他數組的值。 或者我可以檢查是否((a - b)+(b - a))。length == 0爲數組的所有組合,並將結果爲0的組合。或者我可以檢查是否a.sort == b。排序所有數組的組合。
我敢肯定,我之前有人已經更有效地解決了這個問題。我似乎無法找到如何。