Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
¿Los bucles for in anidados son O (n) pero deberían ser O (n ^ 2)?
const anagram = (str1, str2) => { str1 = str1.split(''); str2 = str2.split(''); let frequencyCounter1 = {}; let frequencyCounter2 = {}; for(let val of str1) { frequencyCounter1[val] = (frequencyCounter1[val] || 0) +1; } for(let val of str2) { frequencyCounter2[val] = (frequencyCounter2[val] || 0) +1; } for(let key in frequencyCounter1) { if(!(key in frequencyCounter2)) { return false; } if(frequencyCounter1[key] !== frequencyCounter2[key]) { return false; } } return true; } anagram('racecar', 'racecar');

Este desafío pide usar un patrón de contador de frecuencia para probar si str2 es un anagrama de str1. La respuesta proporcionada es supuestamente O(n). ¿Cómo es esto posible con esta declaración if?

 if(!(key in frequencyCounter2)) { return false; }

¿No sugeriría esto que va a recorrer el objeto para asegurarse de que contiene esa clave, por lo tanto, tiene bucles anidados y O (n ^ 2)?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

en realidad es O(n) porque

 for(let key in frequencyCounter1) { if(!(key in frequencyCounter2)) { return false; } if(frequencyCounter1[key] !== frequencyCounter2[key]) { return false; } }

está iterando sobre el contador de frecuencia 1 O (n) y luego encuentra cada clave de iteración del contador de frecuencia 1 en el contador de frecuencia 2 y los objetos js son básicamente pares clave-valor, por lo que encontrar una clave requerirá O (1). por lo tanto, la complejidad temporal total es O(n)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda