On Tue, Apr 24, 2012 at 9:38 PM, Thomas Costigliola <tcost...@gmail.com> wrote:
> G=. do;._2]0 :0
> 0 1 2 2 3 4 4 5 5 6 7  7  8  9 10 10 11 11 11 12 12 12
> 1 2 3 4 5 6 5 7 8 7 9 10 10 11 12 11 13 14 15 16 15 14
> )
> ]T=. </./G
> T (<@((] <@,"1 0 {:@]{::[) ::])S:_ 0^:_) <0
>
>
> Challenge: find a verb using the same strategy without using :: and is
> shorter (or not much longer).

You are using ::] to detect leaf nodes.

Here's a variation on this approach:

T=: </./ do;._2]0 :0
 0 1 2 2 3 4 4 5 5 6 7  7  8  9 10 10 11 11 11 12 12 12 13 14 15 16
 1 2 3 4 5 6 5 7 8 7 9 10 10 11 12 11 13 14 15 16 15 14 13 14 15 16
)

  ;T <@(] <@~.@,"1 0 ({::~ {:))S:1 0^:_<0

It might be possible to do something based on (beware line wrap):

T=: 
(<1);(<2);(3;4);(<5);(5;6);(7;8);(<7);(9;10);(<10);(<11);(11;12);(13;14;15);(14;15;16);a:;a:;a:;<a:

FYI,

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

Reply via email to