Hi Joel,<div><br></div><div>I wrote this one on the way home on the train:</div><div><br></div><div><div><font class="Apple-style-span" face="'courier new', monospace">1> Board = [a,b,c,d,e].</font></div><div><font class="Apple-style-span" face="'courier new', monospace">[a,b,c,d,e]</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">2> Hand = [1,2,3,4].</font></div><div><font class="Apple-style-span" face="'courier new', monospace">[1,2,3,4]</font></div><div><font class="Apple-style-span" face="'courier new', monospace">3> HandPairs = lists:usort( [lists:sort([A,B]) || A <- Hand, B <- Hand -- [A] ] ).</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">[[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]</font></div><div><font class="Apple-style-span" face="'courier new', monospace">4> BoardSets = lists:usort( [lists:sort([A,B,C]) || A <- Board, B <- (Board -- [A]), C <- (Board -- [A,B]) ]).</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">[[a,b,c],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [a,b,d],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [a,b,e],</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> [a,c,d],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [a,c,e],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [a,d,e],</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> [b,c,d],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [b,c,e],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [b,d,e],</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> [c,d,e]]</font></div><div><font class="Apple-style-span" face="'courier new', monospace">5> Hands = [ HP ++ BS || HP <- HandPairs, BS <- BoardSets ].</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">[[1,2,a,b,c],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,a,b,d],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,a,b,e],</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,a,c,d],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,a,c,e],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,a,d,e],</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,b,c,d],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,b,c,e],</font></div><div><font class="Apple-style-span" face="'courier new', monospace"> [1,2,b,d,e],</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">.....</font></div><div><br></div><div>It might not be the most efficient solution, but if you put it aside in a function you can optimize it the day that it becomes the biggest bottleneck in your system.</div>
<div><br></div><div>Cheers,</div><div>Torben</div><br><div class="gmail_quote">On Tue, Aug 16, 2011 at 18:26, Joel Reymont <span dir="ltr"><<a href="mailto:joelr1@gmail.com">joelr1@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
That works for me.<br>
<br>
Thank you folks!<br>
<div class="im"><br>
On Aug 16, 2011, at 3:38 PM, Marc Worrell wrote:<br>
<br>
> Can't you just do:<br>
><br>
> L4 = [ {A, B} || A <- L3, B <- L3, A < B].<br>
><br>
> This adds a strict ordering on the returned pairs.<br>
<br>
</div><div><div></div><div class="h5">--------------------------------------------------------------------------<br>
- for hire: mac osx device driver ninja, kernel extensions and usb drivers<br>
---------------------+------------+---------------------------------------<br>
<a href="http://wagerlabs.com" target="_blank">http://wagerlabs.com</a> | @wagerlabs | <a href="http://www.linkedin.com/in/joelreymont" target="_blank">http://www.linkedin.com/in/joelreymont</a><br>
---------------------+------------+---------------------------------------<br>
<br>
<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><a href="http://www.linkedin.com/in/torbenhoffmann">http://www.linkedin.com/in/torbenhoffmann</a><br>
</div>