Slight mistake:

mmd=: 4 : 0
z0=. (i.x) * y <....@%&<: x
z1=. <:y - {:z0
z2=. (z1 combnu >:x) (+/@:{)"1 _ |.|:(>:/&i.>:)x
(<,z0) +"1&.> (([:>./ 2 -~/\ ])"1 </. ])z2
)

Check:

   ([:~. ([:(<./,>./) 2 -~/\ ])"1)&.> 11 mmd 55
+---+---+---+---+---+
|5 5|5 6|5 7|5 8|5 9|
+---+---+---+---+---+


R.E. Boss


> -----Oorspronkelijk bericht-----
> Van: [email protected] [mailto:programming-
> [email protected]] Namens R.E. Boss
> Verzonden: maandag 17 augustus 2009 19:01
> Aan: 'Programming forum'
> Onderwerp: Re: [Jprogramming] minmax differences
> 
> combnu=: [: ,.^:(1...@$) [:; [:(,.&.><@;\.)/ (($,:)i.)
>       NB. combinations with non-unique elements
> 
> mmd=: 4 : 0
> z0=. (i.x) * y <....@%&<: x
> z1=. <:y - {:z0
> z2=. (z1 combnu >:x) (+/@:{)"1 _ |.|:(>:/&i.>:)x
> (<,z0) +"1&.> (#...@~."1 </.])z2
> )
> 
>    3 mmd 8
> +-----+-----+
> |0 3 6|0 3 7|
> |1 4 7|0 4 7|
> +-----+-----+
> 
>    $&.>11 mmd 55
> +----+------+------+------+------+
> |5 11|100 11|450 11|600 11|210 11|
> +----+------+------+------+------+
> 
> 
> R.E. Boss
> 
> 
> > -----Oorspronkelijk bericht-----
> > Van: [email protected] [mailto:programming-
> > [email protected]] Namens Raul Miller
> > Verzonden: maandag 17 augustus 2009 14:05
> > Aan: Programming forum
> > Onderwerp: [Jprogramming] minmax differences
> >
> > require 'stats'
> >
> > Given a result from comb pick the entries which
> > maximize the minimum difference between
> > any two adjacent entries.
> >
> >    (#~ [: (= >./) [: <./"(1) 2 -~/\"1 ])3 comb 8
> > 0 3 6
> > 0 3 7
> > 0 4 7
> > 1 4 7
> >
> > Then from this result, pick the entries which
> > maximize the next highest difference between
> > any two adjacent entries, repeating until
> > every remaining difference has been considered.
> >
> > In this case (3 comb 8), I would want
> >
> > 0 3 7
> > 0 4 7
> >
> > I should probably just code this up explicitly
> > but I had hoped I could derive this result
> > tacitly, but I keep running up against the
> > 2 argument limit, for tacit expressions.
> >
> > Does anyone see an obvious approach, here?
> >
> > Thanks,
> >
> > --
> > Raul
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to