• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

246
Views
Intuición detrás del uso de un hashmap o conjunto en la pregunta ¿Verificar si N y su doble existen?

Dada una matriz de números enteros, compruebe si existen dos números enteros N y M tales que N sea el doble de M (es decir, N = 2 * M).

Verifique más formalmente si existen dos índices i y j tales que:

  • yo != j
  • 0 <= ij < arr.longitud
  • arr[i] == 2 * arr[j]

Resolví esta pregunta usando bucles anidados y T/C para el enfoque es obviamente O (n ^ 2). Pero he visto las soluciones que usan hashmap o se configuran en Javascript, lo que esencialmente lleva el T/C a O (n). Pero, no entiendo la intuición detrás del uso de un conjunto en esta pregunta. ¿Cómo es relevante? Si alguien pudiera explicar esto, por favor. Gracias.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede convertir su matriz en un objeto o conjunto. Recorra la matriz, verifique si el elemento * 2 está en el objeto/conjunto.

 const arr = [1,3,5,7,9,11,14]; const obj = Object.fromEntries(arr.map(el => [el, true])); // O(n) // obj looks like //{ "1": true, "3": true, etc} // loop through arr until we find an element such that twice the element is in obj. Can use O(1) lookups in obj const result = arr.some(el => obj[el * 2]); // O(n) (usually less) console.log(result);

almost 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error