User bio
404 bio not found
Member since Jul 25, 2017
Posts:
Replies:
You talk about a multidimensional matrix but obviously mean a two dimensional matrix - right?
You talk about a matrix of size: N x N but neither the given code signaure nor the task description specify where the value N is given. In your examples you create the matrix by continuous incrementing the root node of matrix - the root node is equal to N, is this always valid or just in your examples or in other words, would this be a valid call:
kill box
set box(1)="A,B"
set box(2)="C,D"
do ##class(codeGolf.ClockwiseWord).Solution(.box,1,1)
I know, I one can obtain the value for N with a simple $order()
set N = $order(matrix(""),-1)
You expect a correct solution, we expect correct a description
justmy2cents
Before you start reading, set the lineterminator property to the desired value
do myStream.Rewind()
set myStream.LineTerminator=$c(13,10) // or $c(10)
// or more general
set myStream.LineTerminator=$case($zversion(1), 2:$c(13,10), 3:$c(10), :"")
// now start reading
set line = myStream.ReadLine()
...
...
Certifications & Credly badges:
Julius has no Certifications & Credly badges yet.
Global Masters badges:







Followers:
Following:
Julius has not followed anybody yet.
I absence of welldefined rules, it's a matter of opinion, how one does a "clockwise spiral walk" in a quadratic matrix.
First, I would define the TOP-LEFT corner as point (1,1) with the addition, that (1,1) is always the top-left corner.
For a 1x1, 2x2, 3x3, 4x4 and 5x5 matrix I would go this way (I use the 25 letters to show my clockwise spiral way, starting at top-left with the letter 'a'):
1x1 2x2 3x3 4x4 5x5 a-a a-d a-i a- a-y a ab abc abcd abcde dc hid lmne pqrsf gfe kpof oxytg jihg nwvuh mlkji Matrix: 4x4, starting points: (1,1) --> abcdefghijklmnop (1,2) --> bcdefghijklmnop (2,3) --> nop (2,4) --> efghijklmnop (3,1) --> klmnop (3,2) --> p (3,3) --> op You always go from the starting point to the endpoint (in the center)
All odd matrices (1x1, 3x3, 5x4,...) have a middle-point at (N+1\2, N+1\2)
According to original constraints #2 "The starting position is always valid within the matrix". I interpret that as
one can start at any point a clockwise spiral reading, for example, reading the 4x4 matrix, starting at (3,4) gives you: 'fghijklmnop' The sequence 'abcde' is skipped.
A reading like: 'fghijklabcdenm' gives a clockwise spiral but never touches 'op' on the other hand, reading like: 'fghijklabcdenopm' is not clockwise-spiral because at the sequence 'eno' suddenly takes an counterclockwise turn!