fill out a spiral matrix in javascriptGenetic Drift simulatorJavaScript match scheduling (fixture generation) algorithmClimbing the Leaderboard: HackerranK, Terminated due to timeoutFrequency Queries hackerrankCount duplicates in a JavaScript arrayLeetcode Mountain ArrayTwo-sum solution in JavaScriptPrint out N by N Spiral Matrix in javascriptDeepest pit of an arrayJavaScript Spiral Matrix Coding Challenge

Can I cause damage to electrical appliances by unplugging them when they are turned on?

Are Captain Marvel's powers affected by Thanos breaking the Tesseract and claiming the stone?

What is the meaning of "You've never met a graph you didn't like?"

What (the heck) is a Super Worm Equinox Moon?

Why do Radio Buttons not fill the entire outer circle?

Limit max CPU usage SQL SERVER with WSRM

Do you waste sorcery points if you try to apply metamagic to a spell from a scroll but fail to cast it?

Ways of geometrical multiplication

What does "Scientists rise up against statistical significance" mean? (Comment in Nature)

The Digit Triangles

Would this string work as string?

Proving an identity involving cross products and coplanar vectors

Overlapping circles covering polygon

How would a solely written language work mechanically

When is "ei" a diphthong?

Do I have to take mana from my deck or hand when tapping a dual land?

Integral Notations in Quantum Mechanics

Can I say "fingers" when referring to toes?

How do I prevent inappropriate ads from appearing in my game?

Mimic lecturing on blackboard, facing audience

Air travel with refrigerated insulin

What should be the ideal length of sentences in a blog post for ease of reading?

Why can't the Brexit deadlock in the UK parliament be solved with a plurality vote?

Why didn't Voldemort know what Grindelwald looked like?



fill out a spiral matrix in javascript


Genetic Drift simulatorJavaScript match scheduling (fixture generation) algorithmClimbing the Leaderboard: HackerranK, Terminated due to timeoutFrequency Queries hackerrankCount duplicates in a JavaScript arrayLeetcode Mountain ArrayTwo-sum solution in JavaScriptPrint out N by N Spiral Matrix in javascriptDeepest pit of an arrayJavaScript Spiral Matrix Coding Challenge













0












$begingroup$


I got this question during my interview.



Given an integer N, output an N x N spiral matrix with integers 1 through N.




Examples: Input: 3



Output: [[1, 2, 3],
[8, 9, 4],
[7, 6, 5]]



Input: 1



output: matrix filled out as a spiral [[1]]




/*PSEUDO:
rowMin = 0
rowMax = n - 1
colMin = 0
colMax = n - 1
counter = 1
matrix = []
create the matrix:
loop from 0 to n - 1
array
loop from 0 to n-1
push 0 into array
while rowMin <= rowMax and colMin <= colMax
loop on rowMin from colMin to colMax. col
matrix[rowMin][col] becomes counter++
rowMin++
loop on colMax and from rowMin to rowMax. row
matrix[row][colMax] becomes counter++
colMax--
loop on rowMax from colMax to colMin. col
matrix[rowMax][col] becomes counter++
rowMax--
loop on colMin from rowMax to rowMin. row
matrix[row][colMin] becomes counter++
colMin++
return matrix
*/


const spiralMatrix = (n) =>
const matrix = [];
let rowMin = 0,
rowMax = n - 1,
colMin = 0,
colMax = n - 1,
counter = 1;

for (let i = 0; i < n; i++)
matrix.push(new Array(n).fill(0));


while (rowMin <= rowMax && colMin <= colMax)
for (let col = colMin; col <= colMax; col++)
matrix[rowMin][col] = counter++;

rowMin++;
for (let row = rowMin; row <= rowMax; row++)
matrix[row][colMax] = counter++;

colMax--;
for (let col = colMax; col >= colMin; col--)
matrix[rowMax][col] = counter++;

rowMax--;
for (let row = rowMax; row >= rowMin; row--)
matrix[row][colMin] = counter++;

colMin++;


return matrix;


console.log(spiralMatrix(10));









share|improve this question









$endgroup$
















    0












    $begingroup$


    I got this question during my interview.



    Given an integer N, output an N x N spiral matrix with integers 1 through N.




    Examples: Input: 3



    Output: [[1, 2, 3],
    [8, 9, 4],
    [7, 6, 5]]



    Input: 1



    output: matrix filled out as a spiral [[1]]




    /*PSEUDO:
    rowMin = 0
    rowMax = n - 1
    colMin = 0
    colMax = n - 1
    counter = 1
    matrix = []
    create the matrix:
    loop from 0 to n - 1
    array
    loop from 0 to n-1
    push 0 into array
    while rowMin <= rowMax and colMin <= colMax
    loop on rowMin from colMin to colMax. col
    matrix[rowMin][col] becomes counter++
    rowMin++
    loop on colMax and from rowMin to rowMax. row
    matrix[row][colMax] becomes counter++
    colMax--
    loop on rowMax from colMax to colMin. col
    matrix[rowMax][col] becomes counter++
    rowMax--
    loop on colMin from rowMax to rowMin. row
    matrix[row][colMin] becomes counter++
    colMin++
    return matrix
    */


    const spiralMatrix = (n) =>
    const matrix = [];
    let rowMin = 0,
    rowMax = n - 1,
    colMin = 0,
    colMax = n - 1,
    counter = 1;

    for (let i = 0; i < n; i++)
    matrix.push(new Array(n).fill(0));


    while (rowMin <= rowMax && colMin <= colMax)
    for (let col = colMin; col <= colMax; col++)
    matrix[rowMin][col] = counter++;

    rowMin++;
    for (let row = rowMin; row <= rowMax; row++)
    matrix[row][colMax] = counter++;

    colMax--;
    for (let col = colMax; col >= colMin; col--)
    matrix[rowMax][col] = counter++;

    rowMax--;
    for (let row = rowMax; row >= rowMin; row--)
    matrix[row][colMin] = counter++;

    colMin++;


    return matrix;


    console.log(spiralMatrix(10));









    share|improve this question









    $endgroup$














      0












      0








      0





      $begingroup$


      I got this question during my interview.



      Given an integer N, output an N x N spiral matrix with integers 1 through N.




      Examples: Input: 3



      Output: [[1, 2, 3],
      [8, 9, 4],
      [7, 6, 5]]



      Input: 1



      output: matrix filled out as a spiral [[1]]




      /*PSEUDO:
      rowMin = 0
      rowMax = n - 1
      colMin = 0
      colMax = n - 1
      counter = 1
      matrix = []
      create the matrix:
      loop from 0 to n - 1
      array
      loop from 0 to n-1
      push 0 into array
      while rowMin <= rowMax and colMin <= colMax
      loop on rowMin from colMin to colMax. col
      matrix[rowMin][col] becomes counter++
      rowMin++
      loop on colMax and from rowMin to rowMax. row
      matrix[row][colMax] becomes counter++
      colMax--
      loop on rowMax from colMax to colMin. col
      matrix[rowMax][col] becomes counter++
      rowMax--
      loop on colMin from rowMax to rowMin. row
      matrix[row][colMin] becomes counter++
      colMin++
      return matrix
      */


      const spiralMatrix = (n) =>
      const matrix = [];
      let rowMin = 0,
      rowMax = n - 1,
      colMin = 0,
      colMax = n - 1,
      counter = 1;

      for (let i = 0; i < n; i++)
      matrix.push(new Array(n).fill(0));


      while (rowMin <= rowMax && colMin <= colMax)
      for (let col = colMin; col <= colMax; col++)
      matrix[rowMin][col] = counter++;

      rowMin++;
      for (let row = rowMin; row <= rowMax; row++)
      matrix[row][colMax] = counter++;

      colMax--;
      for (let col = colMax; col >= colMin; col--)
      matrix[rowMax][col] = counter++;

      rowMax--;
      for (let row = rowMax; row >= rowMin; row--)
      matrix[row][colMin] = counter++;

      colMin++;


      return matrix;


      console.log(spiralMatrix(10));









      share|improve this question









      $endgroup$




      I got this question during my interview.



      Given an integer N, output an N x N spiral matrix with integers 1 through N.




      Examples: Input: 3



      Output: [[1, 2, 3],
      [8, 9, 4],
      [7, 6, 5]]



      Input: 1



      output: matrix filled out as a spiral [[1]]




      /*PSEUDO:
      rowMin = 0
      rowMax = n - 1
      colMin = 0
      colMax = n - 1
      counter = 1
      matrix = []
      create the matrix:
      loop from 0 to n - 1
      array
      loop from 0 to n-1
      push 0 into array
      while rowMin <= rowMax and colMin <= colMax
      loop on rowMin from colMin to colMax. col
      matrix[rowMin][col] becomes counter++
      rowMin++
      loop on colMax and from rowMin to rowMax. row
      matrix[row][colMax] becomes counter++
      colMax--
      loop on rowMax from colMax to colMin. col
      matrix[rowMax][col] becomes counter++
      rowMax--
      loop on colMin from rowMax to rowMin. row
      matrix[row][colMin] becomes counter++
      colMin++
      return matrix
      */


      const spiralMatrix = (n) =>
      const matrix = [];
      let rowMin = 0,
      rowMax = n - 1,
      colMin = 0,
      colMax = n - 1,
      counter = 1;

      for (let i = 0; i < n; i++)
      matrix.push(new Array(n).fill(0));


      while (rowMin <= rowMax && colMin <= colMax)
      for (let col = colMin; col <= colMax; col++)
      matrix[rowMin][col] = counter++;

      rowMin++;
      for (let row = rowMin; row <= rowMax; row++)
      matrix[row][colMax] = counter++;

      colMax--;
      for (let col = colMax; col >= colMin; col--)
      matrix[rowMax][col] = counter++;

      rowMax--;
      for (let row = rowMax; row >= rowMin; row--)
      matrix[row][colMin] = counter++;

      colMin++;


      return matrix;


      console.log(spiralMatrix(10));






      javascript






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 16 mins ago









      NinjaGNinjaG

      817632




      817632




















          0






          active

          oldest

          votes











          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215902%2ffill-out-a-spiral-matrix-in-javascript%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215902%2ffill-out-a-spiral-matrix-in-javascript%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Why is a white electrical wire connected to 2 black wires?How to wire a light fixture with 3 white wires in box?How should I wire a ceiling fan when there's only three wires in the box?Two white, two black, two ground, and red wire in ceiling box connected to switchWhy is there a white wire connected to multiple black wires in my light box?How to wire a light with two white wires and one black wireReplace light switch connected to a power outlet with dimmer - two black wires to one black and redHow to wire a light with multiple black/white/green wires from the ceiling?Ceiling box has 2 black and white wires but fan/ light only has 1 of eachWhy neutral wire connected to load wire?Switch with 2 black, 2 white, 2 ground and 1 red wire connected to ceiling light and a receptacle?

          कुँवर स्रोत दिक्चालन सूची"कुँवर""राणा कुँवरके वंशावली"

          सि.चक भराडी, कोश्याँकुटोली तहसील इन्हें भी देखें बाहरी कड़ियाँ दिक्चालन सूची(निर्देशांक ढूँढें)www.uttara.gov.inउत्तराखण्ड - भारत सरकार के आधिकारिक पोर्टल परउत्तराखण्ड सरकार का आधिकारिक जालपृष्ठउत्तराखण्डउत्तरा कृषि प्रभासंबढ़ाने मेंसं