Resolviendo entrevista de google para programador javascript - Las frases son anagrama? En orden n

Поділитися
Вставка
  • Опубліковано 12 лис 2024

КОМЕНТАРІ • 104

  • @DamianSireDesarrollo
    @DamianSireDesarrollo  4 роки тому +9

    Importante y mis redes:
    En el último minuto, puse en el foro un obj.keys(word1) en realidad quise poner obj.keys(word2)
    Cuando dije 4 * O(n), escondi que detras de eso en realidad es usar la formula n * (n-1) / 2 = (n*n - n) / 2 que se podria tomar como o(n*n) . Pero no queria perder tiempo explicando la formula.
    Colaborar con la compra de un microfono: paypal.me/damiansire
    Mi linkedin: www.linkedin.com/in/damiansire/
    Mi twitter: twitter.com/damiansire
    Instagram: instagram.com/damiansire/
    Mi facebook: facebook.com/damian.sire.148/
    Comunidad en discord: discord.gg/J28vAPK
    Grupo de facebook: facebook.com/groups/865776550575105

    • @estebanherreraorozco4192
      @estebanherreraorozco4192 4 роки тому

      Tus videos se escuchan muy bajo, de resto excelente video!!

    • @davidlopez8251
      @davidlopez8251 3 роки тому

      Concuerdo, si le podes subir un poco el volumen a tus videos porfa, le puse al tope pero se escucha muy bajo

  • @camja11
    @camja11 4 роки тому +1

    Me encanta haber encontrado un canal como el tuyo, como estudiante universitario de informática y apasionado a la programación, este tipo de videos es muy fundamental! ayuda muchísimo al aprendizaje y pensamiento algorítmico. Sigue así!

  • @JeremiKress
    @JeremiKress 4 роки тому +1

    Qué gusto poder ver estos videos en español. En inglés no he podido encontrar algo así de bueno. Tus vídeos son un recurso supervalioso.
    ✌🏿 Saludos desde Sudáfrica

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      Desde Sudáfrica? Omg! Eso queda en otro continente, soy de Uruguay

    • @JeremiKress
      @JeremiKress 4 роки тому

      @@DamianSireDesarrollo ¡Uruguay nomá! 😁 Gracias por el buen contenido

  • @feedeandoando8257
    @feedeandoando8257 4 роки тому +1

    Buen contenido desde lo mas básico hasta lo avanzado y encima explicando las ideas que aplicas , mil gracias por compartir tus conocimientos ,exitos bro

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Gracias Fede! Voy a tratar de explicar las funciones y eso (splice, slide, join, etc) en vídeos aparte

  • @pabloperezgurrix3510
    @pabloperezgurrix3510 4 роки тому +3

    Cuando se te fue el return false casi exploto, me super activaste el TOC xD muy divertidos tus videos, la velocidad a la que explicaste este video me parece buena, hay veces que explicas algo 4 o 5 veces y se vuelve algo tedioso. Creo que alguien que sigue tus videos fácilmente entendió todo el procedimiento. Muchas gracias por tus videos c:

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      muchas muchas muchas gracias por tu comentario! Lo que sucede, es que también tengo que explicar para los que no entienden a la primera, lo siento :/ Imagínate yo, que me retornaba false y digo "que raro esto"

  • @yeckzus
    @yeckzus 4 роки тому +1

    Joya de contenido, aunque no programo en Javascript, es un lenguaje que me interesa aprender, y que mejor que con contenido que me ayude a mejorar mi lógica de programación. Me suscribo!

  • @juanmanuelgalindocasillas8481
    @juanmanuelgalindocasillas8481 4 роки тому

    Genial, he aprendido más de algoritmia contigo que con los maestros de mi facultad, sigue así. 😎

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      Por comentarios como este, despues me mandan mail los profesores puteandome jajajja

  • @UR13L-95
    @UR13L-95 4 роки тому

    Estoy aprendiendo JS y de verdad que tus videos me ayudan muchísimo, gracias

  • @sebastiantorreschavez5748
    @sebastiantorreschavez5748 3 роки тому

    Estuvo tan bueno el video, que ni me di cuenta que me había tirado mas de 40 min viendolo, paso super rápido, muy buena explicación 👍

  • @alejocerutti8267
    @alejocerutti8267 4 роки тому

    Man tenés un contenido muy fresco, tus videos, en especial estos de entrevista de trabajo, me tienen muy enganchado. Un saludo!

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      Muchas gracias!! Ahora estoy viendo de traer recluiters / gente que hace entrevistas

    • @alejocerutti8267
      @alejocerutti8267 4 роки тому

      @@DamianSireDesarrollo Sería excelente!

  • @NonDATA123
    @NonDATA123 4 роки тому +1

    Sos un grande, suerte que UA-cam me recomendó tu canal

  • @DanielLozadaDev
    @DanielLozadaDev 4 роки тому

    muy buen video, no te conformas con solucionarlo de una única forma sino que nos enseñas las formas más y menos eficientes 👏🏻

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      Muchas muchas gracias! Me parece fundamental mostrar el proceso de mejora, en general no se nos ocurren las mejores soluciones a la primera

    • @DanielLozadaDev
      @DanielLozadaDev 4 роки тому +1

      qué bueno sería que cuando mencionas otro vídeo en el que explicas otro tema, por ejemplo el de los órdenes, pusieras el enlace al vídeo en la descripción

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      @@DanielLozadaDev dale

  • @homer1767
    @homer1767 4 роки тому +1

    Cada video que sacas mejora la calidad de contenido, felicitaciones bro

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Trato de aprender de los errores y mejorar! Muchas gracias por tu comentario!! Me alegro que de a poco vaya mejorando!

  • @matiasherediaok
    @matiasherediaok 3 роки тому +1

    ME suscribo para seguir viendo Resolucion a entrevistas

  • @Turnkeytitan89
    @Turnkeytitan89 4 роки тому +1

    ¡Excelente contenido!
    He aprendido bastante gracias a tu contenido.

  • @alanlima7295
    @alanlima7295 4 роки тому +1

    buen contenido broder, yo resolví de una manera un poco diferente, por si les interesa esta es la func:
    const isAnagrama = (palabra, anagrama) => {
    if (palabra.length !== anagrama.length) return false;
    const arrPalabra = [];
    const arrAnagrama = [];
    let ban = true;
    palabra = palabra.replace(/ /g, "").toUpperCase();
    anagrama = anagrama.replace(/ /g, "").toUpperCase();
    for (let index = 0; index < palabra.length; index++) {
    arrAnagrama.push(anagrama[index]);
    arrPalabra.push(palabra[index]);
    }
    const obj = arrPalabra.reduce(
    (acum, x, i) => ({
    ...acum,
    [x]: !acum[x]
    ? arrPalabra.filter((elem) => elem === x).length
    : acum[x]++,
    }),
    {}
    );
    for (const key in obj) {
    if (key === " " || obj[key] === 0) delete obj[key];
    } //solo para evitar tener elem innecesarios en el arr
    arrAnagrama.forEach((x) => {
    const repeat = arrAnagrama.filter((elem) => elem === x).length;
    if (obj[x] !== repeat) ban = false;
    });
    return ban;
    };

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      Muchas gracias por tu comentario, luego con mas tiempo lo leo en detalle!

  • @sufyanahmed4738
    @sufyanahmed4738 3 роки тому

    Amigoooooo no se por que Tenes tan poco seguidores si subís alto contenido, genio!!!!
    Yo estoy entendiendo algo por que recién Arranco con html pero muero de ganas de saber JavaScript
    Saludo de Argentina

  • @gabrielpereyra8024
    @gabrielpereyra8024 4 роки тому +1

    Como me gustan estos videos sos muy capo

  • @gabrielgomez9292
    @gabrielgomez9292 4 роки тому +4

    Genial tu contenido amigo, me encanta! Sólo que yo le subiría un poco más el volumen de tu voz, saludos desde Venezuela 👍👍

  • @tonatiuhislas8006
    @tonatiuhislas8006 4 роки тому +1

    Damian, excelente contenido, gracias por compartir tu conocimiento.

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Muchas gracias a vos Tona, me alegro que te haya gustado!

    • @tonatiuhislas8006
      @tonatiuhislas8006 4 роки тому

      Si Damian, tienes un don para enseñar y ademas el hecho de que compartas lo que sabes hace que tu contenido sea muy ameno y sencillo. Gracias a personas como tu, esta plataforma vale la pena.

  • @jotaerrec15
    @jotaerrec15 3 роки тому

    alto canal, no puedo creer que tan solo tengas 7k de seguidores

  • @Nicolas-yz5ox
    @Nicolas-yz5ox 4 роки тому +1

    Buen video !. Bastante entretenido y muy entendible

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Muchas gracias Nico!! Espero te gusten los otros vídeos del canal también

  • @dylanmosca3154
    @dylanmosca3154 4 роки тому +2

    gracias youtube por recomendar buen contenido

  • @marcorodas3652
    @marcorodas3652 4 роки тому +1

    Excelente vídeo! Sabes que sería bueno, un vídeo donde expliques los distintos tipos de algoritmos que son necesarios de aprender, saludos.

  • @juliandesign6201
    @juliandesign6201 3 роки тому

    muy copada tu solucion brother!

  • @danycode9003
    @danycode9003 4 роки тому +1

    Soy principiante, gracias por tu contenido tan bueno me inspira a seguir xd

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      De nada!! Voy a tratar de acompañar más, para llegar al nivel de esto

  • @battleryoma
    @battleryoma 3 роки тому +1

    Buenas! Quisiera comentar que con la última formulación no evalúa la cantidad de veces que se repite el caracter/letra. Se está disminuyendo en 1 a todas las letras en el mapWord1. Si pruebas con isAnagrama("Tom Sorvolo Ryddle","Soy Lord Voldemorx") donde se cambia la última letra por una 'x' la función retorna true ya que solo evalúa la longitud del texto.

  • @cchaleess311
    @cchaleess311 3 роки тому

    Capo, buenísimo tu contenido

  • @MrMantskt
    @MrMantskt 4 роки тому +1

    Excelente contenido amigo, el peso algorítmico se conoce como Big O Notation

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Si, exacto! No lo dije porque no queria ponerme a distinguir entre las distintas variantes

  • @juanigarcia9953
    @juanigarcia9953 3 роки тому

    Muy bueno! Muy clarito!

  • @davidlopez8251
    @davidlopez8251 3 роки тому

    Disculpa, cual es el link del video de orden del cual hablas???

  • @Jusquer
    @Jusquer 2 роки тому

    Crack, gracias!!

  • @zrusheer_6475
    @zrusheer_6475 3 роки тому

    Me puedes pasar el link de la entrevista? Gracias!

  • @Neotrix92
    @Neotrix92 3 роки тому

    buen video y bien explicado. solo falta ver las pelis de harry potter para saber pronunciar el apellido ryddle jajajaja un abrazo papa

  • @f.e.x.o6271
    @f.e.x.o6271 4 роки тому +1

    Genial!

  • @angelarciniega8913
    @angelarciniega8913 3 роки тому

    Muy bueno, solo un detalle en tu ultimo metodo falto validar si no llega a 0 o es numero negativo. Pero overall muy bien!

  • @CacoCerrutti
    @CacoCerrutti 3 роки тому

    Si no estoy mal, en la versión más eficiente eso tiene un error (44:53). Si tenés "aamor" y "roma" va a retornar true porque no estás validando la cantidad de letras. El if que está dentro del for debería ser:
    if(mapWord1[letter] != undefined && mapWord1[letter] > 0) {
    mapWord1[letter] -= 1;
    } else {
    return false;
    }

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  3 роки тому +1

      Hola!! Se valida en la linea 19 (Te animas a fijarte si te referias a eso)

    • @CacoCerrutti
      @CacoCerrutti 3 роки тому

      @@DamianSireDesarrollo tal cual.

  • @matiquielma
    @matiquielma 3 роки тому +1

    Buenas clases crack! Creo que mejorar el ingles lleavaria todo el canal a otro nivel

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  3 роки тому

      Estamos en eso, estamos en eso jajajaja

    • @matiquielma
      @matiquielma 3 роки тому

      @@DamianSireDesarrollo Genial! Te re recomiendo el canal de Code with Ania Kubów porque su inglés está perfecto y explica con javascript así que podés escuchar como pronuncia los nombres de todas las funciones que usás en tus videos.

    • @matiquielma
      @matiquielma 3 роки тому

      Aparte de que te vas a querer casar con ella

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  3 роки тому

      @@matiquielma siiii, la ubico!! Vi el vídeo de cómo hacer un Flappy bears 😂 pero estoy complicado con los tiempos, voy a tratar de ver más!!! Graciass

  • @danielclow
    @danielclow 2 роки тому

    Deje de ver el video cuando leí "Tom Sorvolo Ryddle", en vez de "Tom Marvolo Riddle" xd
    Hubieras usado el clásico "Anita lava la tina"

  • @torresvargascarlosmarcelo2604
    @torresvargascarlosmarcelo2604 4 роки тому +1

    Capoo...

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Me alegro que te haya gustado!! También tenés una de Facebook que subí ayer, y por si fuera poco ahora estoy subiendo una de LinkedIn

  • @unchilenoypython1379
    @unchilenoypython1379 4 роки тому

    Super bueno el video, yo lo solucioné con suma de ASCII que implementé en c++, si tengo errores agradezco que lo mencionen!! (debería de ser O(n), cierto?)
    bool isAnagram(string frase1, string frase2){
    regex regexp(" ");
    string frase1RegExpr = regex_replace(frase1, regexp, "");
    string frase2RegExpr = regex_replace(frase2, regexp, "");
    transform(frase1RegExpr.begin(), frase1RegExpr.end(), frase1RegExpr.begin(),
    [](unsigned char c){return tolower(c);});
    transform(frase2RegExpr.begin(), frase2RegExpr.end(), frase2RegExpr.begin(),
    [](unsigned char c){return tolower(c);});
    int asciiFrase1 = 0;
    int asciiFrase2 = 0;
    for(int i = 0; i < frase1RegExpr.length();i++){
    asciiFrase1 += frase1RegExpr[i];
    asciiFrase2 += frase2RegExpr[i];
    }
    if(asciiFrase1 == asciiFrase2){
    return true;
    }
    return false;
    }

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому +1

      O(N) con espacio auxiliar, o(N log n) sin espacio auxiliar (necesitas eso para ordenar el array

    • @unchilenoypython1379
      @unchilenoypython1379 4 роки тому

      @@DamianSireDesarrollo gracias!!!, la verdad es que soy un poco nuevo en esto de análisis asintóticos, y bueno en el área de algoritmos en general.

    • @unchilenoypython1379
      @unchilenoypython1379 4 роки тому

      soy un bobo, el return puede ser:
      return asciiFrase1 == asciiFrase2;
      queda mejor aksdjaskjdk

  • @nicolasch9224
    @nicolasch9224 4 роки тому

    amigo sos goooooooooooooood

  • @Marcos-uc9vf
    @Marcos-uc9vf 3 роки тому

    Excelente video, lo que no entendí es si el orden final es de o(n) o de o(log (n)), gracias!

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  3 роки тому +1

      Hola!! Depende de qué algoritmo te refieras, hicimos varias soluciones en el vídeo

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  3 роки тому +1

      Igualmente, vas a tener que recorrer si o si todas las letras de una de las palabras, entonces si o si va a ser orden n

    • @Marcos-uc9vf
      @Marcos-uc9vf 3 роки тому

      @@DamianSireDesarrollo ahh perfecto, me quedo con tu respuesta entonces! Mil gracias!!! Temía que me preguntes que función era jaja, era esta:
      function isAnangrama (word1, word2) {
      word1 = cleanString(word1);
      word2 = cleanString(word2);
      if (word1.length === word2.length) {
      let mapWord1 = wordToMap(word1);
      let mapWord2 = wordToMap(word2);
      for (let letter of Object.keys(mapWord1)) {
      if(!(mapWord1[letter] === mapWord2[letter])) {
      // Si hay alguna letras demás
      return false;
      }
      }
      return true;
      }
      return false;
      }

  • @hash5075
    @hash5075 4 роки тому

    Mucho respeto

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Porque? Jajaja Me gusta mucho tu nombre! Me hace acuerdo a los arboles de hash

    • @hash5075
      @hash5075 4 роки тому

      Futuramente tendre mi canal de educacion de programacion

    • @hash5075
      @hash5075 4 роки тому

      Por eso a si le puse

    • @hash5075
      @hash5075 4 роки тому

      Respeto desde nicaragua❤

    • @DamianSireDesarrollo
      @DamianSireDesarrollo  4 роки тому

      Que bueno!! Si algun dia necesitas un invitado, avisame nomas :P

  • @joseluisperezmontano2391
    @joseluisperezmontano2391 4 роки тому +3

    creo que la ultima implementación está mal porque en la iteración la palabra se comprueba con sus mismas letras, ya no se está tomando en cuenta la segunda palabra por lo tanto siempre va a salir true a menos que tengan un length diferente y si no es así significa que no le entendí jaja