Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

120
Views
Atravesando la matriz 2D en el problema N-Queens

Estoy tratando de resolver el problema de N-Queens usando el retroceso. El enlace al problema de N-Queens se puede encontrar aquí, https://leetcode.com/problems/n-queens/ , visite ese enlace para comprender mejor el problema. Sin embargo, solo quiero compartir una parte del código que encuentro difícil de entender. Por favor, ¿alguien puede explicarme cómo funciona el //marque arriba, //marque arriba - izquierda, //marque arriba a la derecha? Me resulta difícil entender esta sección particular del código.

 var isValid = function(board, row, col) { const n = board.length; // check top for (let i = 0; i < row; i++) { if (board[i][col] === 'Q') return false; } // check top-left for (let i = row - 1, j = col - 1; i >= 0 && j >= 0; i--, j--) { if (board[i][j] === 'Q') return false; } // check top-right for (let i = row - 1, j = col + 1; i >= 0 && j < n; i--, j++) { if (board[i][j] === 'Q') return false; } return true; }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Según tengo entendido, debemos verificar si la posición actual es "segura". Así que no hay reinas en el campo que puedan alcanzar la posición. Para hacerlo, debemos marcar Vertical, Horizontal y Diagonales (ambos). Este código probablemente verifica solo las filas por encima de la actual.

El bloque de código superior izquierdo hace lo siguiente: imagina que la posición actual es x=4, y=3. Entonces, para verificar la diagonal superior izquierda, debemos observar las posiciones:

  • x=3, y=2
  • x=2, y=1
  • x=1, y=0

Para hacerlo, seleccionamos inicialmente la posición let i = row - 1, j = col - 1 (un paso a la izquierda y uno arriba del actual). Y luego, para cada paso siguiente, muévase hacia arriba y hacia la izquierda: i--, j--

Repítalo hasta que llegue al borde: i >= 0 && j >= 0

El bloque superior derecho realiza la misma operación, excepto que debemos movernos hacia la derecha (aumentar la X).

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!