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

106
Views
¿Complejidad temporal de buscar el valor objetivo en la matriz 2D?

El problema real es bastante simple, implemente un algoritmo que devuelva verdadero si el valor objetivo está contenido dentro de la matriz . Aquí están las dos soluciones que se me ocurrieron. No estoy seguro de cuál sería preferible? Creo que la solución 1 es más rápida ya que no necesitamos construir una nueva matriz, sin embargo, ¿sería esto significativamente más rápido?

Solución 1:

 var searchMatrix = function(matrix, target) { let cols = matrix[0].length; let rows = matrix.length; let left = 0; let right = cols*rows - 1; while(left <= right) { let midIndex = left + Math.floor((right-left)/2); let midValue = matrix[Math.floor(midIndex/cols)][Math.floor(midIndex%cols)]; console.log(midValue); if(midValue === target) { return true; } else if(midValue < target) { left = midIndex + 1; } else { right = midIndex - 1; } } return false; };

Solución 2:

 var searchMatrix = function(matrix, target) { let arr = [] for(let row of matrix) { arr = [...arr,...row]; } let left = 0; let right = arr.length - 1; while(left <= right) { let middle = left + Math.floor((right-left)/2); if(arr[middle] === target) { return true; } else if(arr[middle] < target) { left = middle + 1; } else { right = middle - 1; } } return false; };

Según tengo entendido, el paso principal que estamos agregando es convertir la matriz en un Array regular. ¿Haría esto que el algoritmo sea O(n) ya que tenemos que agregar cada elemento a la nueva matriz?

Para la solución 1, no tenemos que crear una nueva matriz para tener un espacio constante, ¿correcto? No estoy particularmente seguro de cómo explicar que la primera solución es preferible en términos de tiempo/espacio.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Según los comentarios agregados a la publicación, la legibilidad y la capacidad de analizar la complejidad del tiempo darían la mejor respuesta. Quizás la primera opción sería la más ideal si pudiéramos hacerla más legible a través de una función separada utilizada para calcular el valor de la matriz.

La opción 2 ocupa más espacio ya que estamos creando una matriz adicional para buscar.

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!