Resuelvo ALGORITMO de entrevista para FAANG ❄️

Поделиться
HTML-код
  • Опубликовано: 14 июл 2024
  • Resuelvo un algortimo de entrevista para compañías FAANG (Facebook, Apple, Amazon, Netflix, Google). 💻 También te explico la manera de resolver estos algoritmos con estructuras de datos y el codigo en Javascript. De paso te dejo un montón de Math.random() relacionado con la caída de nieve en Seattle. ❄️😁
    🚀 Aprende a programar desde CERO hasta PRO 👉 www.academia-x.com
    🔥 INSTAGRAM 👉 / programador.x
    🌟 LINKEDIN 👉 / xavier-reyes-ochoa
    📕 Mi ebook de HTML ¡GRATIS! 🔥🆓🔥 👉 www.academia-x.com/html-gratis
    🖥 Mis equipos 👉 www.amazon.com/shop/programadorx
    Recursos:
    Codigo resuelto: github.com/xrochoa/algoritmo-...
    Corto: Programador X Manos de Tijera ✂️ (Completo): • Programador X manos de...
    Big O: es.wikipedia.org/wiki/Cota_su...
    Práctica de algoritmos:
    leetcode.com/
    www.hackerrank.com/
    📚 Contenido
    0:00 - Algoritmo de entrevista para FAANG ❄️
    1:00 - Ejercicio de nieve
    2:16 - Entender el problema
    3:00 - Posibles soluciones y análisis de Big(o)
    4:30 - Big(o)
    5:30 - Solución cuadrática
    9:10 - Solución lineal
    10:20 - Para qué aprender algoritmos?
    13:05 - Solución lineal (Two Pointer Technique)
    13:48 - Break de nieve ❄️
    17:10 - Código y pseudocódigo: Solución cuadrática
    22:10 - Código y pseudocódigo: Solución lineal
    25:10 - Código y pseudocódigo: Solución lineal (Two Pointer Technique)
    #faang
    #programacionweb
    #programadorX
    #html #css #javascript #react
    #programador #programacion #ingeniero #ingenieria
    #desarrolloweb #frontend #backend #software
    Big(o) Graph: Cmglee, CC BY-SA 4.0 creativecommons.org/licenses/..., via Wikimedia Commons

Комментарии • 173

  • @ProgramadorX
    @ProgramadorX  3 года назад +2

    🚀 Aprende a programar desde CERO hasta PRO 👉 www.academia-x.com
    🔥 INSTAGRAM 👉 instagram.com/programador.x
    🌟 LINKEDIN 👉 www.linkedin.com/in/xavier-reyes-ochoa
    📕 Mi ebook de HTML ¡GRATIS! 🔥🆓🔥 👉 www.academia-x.com/html-gratis
    🖥 Mis equipos 👉 www.amazon.com/shop/programadorx

  • @ftzune
    @ftzune 3 года назад +13

    Me inspira mucho el ver qué fuiste en busca de nuevas oportunidades a otro país, sabiendo lo mínimo en programación y ahora te has convertido en todo un profesional, realmente viendo tus vídeos me dan ganas de salir adelante con lo mío, te deseo mucho éxito en todo lo que se venga, espero que todo lo que te propongas se te dé 🙏🏻

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Aprecio mucho tu mensaje, Felipe! 💯 Estoy seguro que lograrás lo que te propongas también. 👍 Saludos!

  • @fernandosalas4885
    @fernandosalas4885 3 года назад +19

    Personalmente creo que todo desarrollador debe contar con bases solidas en ciencias de la computación. Recomiendo muchísimo aprender C/C++ y Estructuras de datos & Algoritmos indiferentemente al área en que se desarrolle uno.

    • @ProgramadorX
      @ProgramadorX  3 года назад +5

      Estoy muy de acuerdo que eso aseguraría una calidad muy alta de cualquier proyecto web, sea una simple página o una aplicación enterprise. Excelente recomendación Fernando! Gracias por compartirla! 🙂👍🏽

    • @fernandosalas4885
      @fernandosalas4885 3 года назад

      @@ProgramadorX gracias a ti por compartir tus experiencias con la comunidad!!!

  • @bryyang
    @bryyang 3 года назад +22

    Me ha explotado la cabeza 🤯 creo que hay que perfeccionar esa parte de lógica y algoritmos. Ya habia estudiado que se trata de har el codigo más eficiente y mas reducido posible y tu lo has demostrado😬. Pero como siempre que nivelazo de video 😏, contigo se aprende mucho, las bases para luego profundizará en el tema .🤓
    Estás dejando Ecuador por muy alto Xavier 🇪🇨
    Pdt. Podrías pasar el link de las pegatinas de la computadora, están cheverisimos y me los quiero comprar 😂

    • @ProgramadorX
      @ProgramadorX  3 года назад

      😄Como siempre, muchas gracias por tus chéveres palabras, Bryan! Los algoritmos y estructuras de datos definitivamente ayudan bastante para llegar a otro nivel en la programación. Espero que estés creciendo mucho como programador y me alegro que este video sea de ayuda. Saludos hermano! 🇪🇨

    • @EdwuardQuintero
      @EdwuardQuintero 2 года назад +1

      @@ProgramadorX ​ una sugerencia evita hacer constante zoom in/out al codigo ya que tiende a desconcentrar cuando tratas de explicar los algoritmos, me refiero por ejemplo en el min 19:20 al 19:50 notaras estos zooms. Del resto muy bien explicado todo. gracias, sos un capo

  • @jfloresmacias
    @jfloresmacias 3 года назад +2

    Que inspiración logras transmitir con estos vídeos para un estudiante de una carrera de Letras como yo, que quiere incursionar en el mundo de la programación. Llevo tres meses estudiando JS y a veces se me complica pero nada como buscar inspiración en tu canal. Saludos desde Perú. 💻🤓

  • @omarparedes2862
    @omarparedes2862 3 года назад +4

    Me tocó dar clases de algoritmos y programación básica en Universidad. Este video me transportó a esa etapa inicial que me hizo querer aprender sobre este rubro. Con tus videos me sigo inspirando !

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Que chévere Omar! 📚 Si, estos ejercicios pueden ser muy divertidos. 🙂 Hay algunos que definitivamente son muy complejos pero con práctica se va mejorando. Saludos!

  • @gabyabychavez
    @gabyabychavez 3 года назад +3

    Excelente ejercicio. Muchas gracias por compartir.

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      No hay de que, Hiram! Espero que sea útil! 🙂👌🏽

  • @quiqueol5438
    @quiqueol5438 3 года назад +1

    Likeeeeee! Grande Programador X! Me encantó casi no hay youtubers que resuelvan algoritmos de problemas de alto calibre como este video! Por favor sigue asi todos nos divertimos aprendiendo contigo!

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Aprecio mucho tu mensaje Luis! 🙌 Si, poco a poco sacaré más videos como este. 🙂 Un gran saludo!

  • @andresroman9544
    @andresroman9544 3 года назад

    No tengo ni idea de muchas cosas referentes a la programación pero tu explicación fue muy clara y creo que entendí algunos conceptos, explicas muy bien

  • @EdwuardQuintero
    @EdwuardQuintero 2 года назад +2

    @Programador X ​ una sugerencia evita hacer constante zoom in/out al codigo ya que tiende a desconcentrar cuando tratas de explicar los algoritmos, me refiero por ejemplo en el min 19:20 al 19:50 notaras estos zooms. Del resto muy bien explicado todo. gracias, sos un capo

  • @Vinnc8806
    @Vinnc8806 2 года назад +1

    Que tal, buen ejercicio. Pensé la solución en una manera. De momento pensé que era la única. Es interesante ver como un mísmo problema puede tener más de una solución. Saludos.

  • @CesarRodriguez-nb2lm
    @CesarRodriguez-nb2lm 3 года назад

    Que chingon hermano... hago solo front end pero comienzo a resolver algoritmos y a trabajar en el back end.... de causalidad de me.mcomtre con tu video y he aprendido muchisimo gracias

  • @tasks3308
    @tasks3308 3 года назад +1

    Un crack brother, y si estaba fuerte inclusive para alguien experimentado.... Gracias por el tuto

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Si, la última solución consumió muchas calorias! 😂 Gracias por ver el video Alex. Saludos!

  • @lucidolux
    @lucidolux Год назад

    Gracias x tomarte el tiempo y el esfuerzo 😃

  • @Diego.largo100
    @Diego.largo100 3 года назад +1

    De una manera muy interactiva, muestras lo importante que son las matemáticas. :)

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Gracias por ver el video, Diego! 🙌 Si, las matemáticas ayudan mucho pero no son esenciales en todos los problemas de programación. Este ejercicio en particular requirió bastantes matemáticas. 🧮 Saludos! 🙂

  • @ivanmunguia6965
    @ivanmunguia6965 Год назад

    ABRIL 2023: No entiendo absolutamente nada de lo que estás diciendo, pero me voy a esforzar para conocer este campo de la mejor forma posible, no me da miedo ser nuevo e inexperto en algo porque siempre se tiene que iniciar de algo y lo dejo aquí escrito porque es un hecho que lo aprenderé, al menos al punto de entender de que se habla aquí.

  • @dylandsteven6201
    @dylandsteven6201 3 года назад

    Muy buen video , porfavor suba más de estos.

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Gracias Dyland! 🙂Poco a poco subiré más de este estilo. Saludos!

  • @RadioCainaco
    @RadioCainaco 3 года назад

    Muy genio! Somos tus fans!

  • @santiagoalvarez263
    @santiagoalvarez263 2 года назад

    Mas videosde resoluciones como esta!!!! Te felicito por el contenido!!!!!

  • @guipe7712
    @guipe7712 3 года назад +4

    Muy bueno interesante el video, aprender sobre las estructuras de datos y algoritmos es uno de los principios mas importantes de la programacion. Gracias por explicar FAANG. Como recomendacion para los proximos videos donde muestres codigo podrias configurar el tamaño de texto del editor a uno mayor para que se aprecie mejor. Saludos y muy bueno el material

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Gracias por ver el video Luis! 💯 Tienes toda la razón y aprecio mucho tu sugerencia. Me aseguraré de que el texto sea más grande para el próximo video tutorial. 👍 Saludos!

  • @valcron-1000
    @valcron-1000 3 года назад +20

    8:45 Hay un error en ese desarrollo. El valor 'm' no se puede "aproximar" a 'n' y concluir un costo O(n^2). No sabemos los valores que pueden venir en el arreglo, y, por ejemplo una posible entrada es [0,3,0,50000,2]. En este caso, la solución propuesta tendría un costo de 5000 x 5, mucho mayor que n^2 (5 x 5)

    • @ProgramadorX
      @ProgramadorX  3 года назад +17

      Excelente observación valcron1000! 💯Esa solución parece ser menos que óptima para el caso de 50000 que mencionas. Voy a fijar este comentario para que quede más claro para la comunidad que es mejor dejarlo como mxn y no es buena idea redondear en este caso. Aprecio mucho que hayas hecho ese análisis. 🙂👍Para estas situaciones es una buena idea preguntar a un entrevistador sobre el rango de m para dar una mejor respuesta porque en el ejercicio lo dejé abierto, lo que quiere decir que en el peor de los casos podría ser hasta infinito. Qué gusto tener un programador ninja en el canal! 💻Saludos!

    • @alexdanielbaenayepez9558
      @alexdanielbaenayepez9558 3 года назад +11

      @@ProgramadorX Yo aqui intentando escribir mi primer ¡Hola Mundo! y ustedes hablando de algoritmos cuanticos!!!

    • @NewPlayeracount
      @NewPlayeracount 3 года назад +5

      No entendi ni madres :c y yo apenas hice un hola mundo

    • @manuelturlan9506
      @manuelturlan9506 3 года назад

      @@NewPlayeracount por algo se empieza, no todos nacen sabiéndolo todo, no te desanimes

  • @FapCod
    @FapCod 3 года назад +2

    Buen video me interesa XD esto es lo que siempre busco 🙌

  • @juancarlosvillan7619
    @juancarlosvillan7619 3 года назад

    Gracias, Eres mi inspiración programador X, un abrazo

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Gracias por tus palabras Juan Carlos! 😁❤️ Abrazos!

  • @jesusmartinezrodriguez6101
    @jesusmartinezrodriguez6101 2 года назад

    Eres uno de mis modelos a seguir Bro. Buen día

  • @fitoriajf4762
    @fitoriajf4762 3 года назад

    Me encantó el vídeo, ¡Nuevo sub!

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Muchas gracias Edwin! 🙂 Bienvenido a esta comunidad de programadores. Saludos!

  • @franr2506
    @franr2506 3 года назад +8

    Buenísimo vídeo :) solo una sugerencia. Cuidado con los zoom in/out de cámara sobre todo cuando explicas el problema. Marea muchísimo 😔 ya que mientras uno está pendiente del dibujo y las anotaciones que vas haciendo, la cámara está constantemente acercándose y alejándose.

    • @mfzama
      @mfzama Год назад

      Coincido, me costo mucho verlo por esa razon, tuve que hacer un esfuerzo extra y aun asi me perdia =/

  • @asier1018
    @asier1018 2 года назад

    ¡¡¡Buenísimo!!!!

  • @abeljoseroblesuseche6284
    @abeljoseroblesuseche6284 3 года назад +4

    Para al que le interese, logré reducir a 2 funciones la solución lineal:
    for(int i=0, j=13; imax){
    max = alturaPared[i];
    maxLeft[i]=alturaPared[i];
    }else{
    maxLeft[i] = max;
    }

    if(alturaPared[j]>max2){
    max2 = alturaPared[j];
    maxRight[j] = alturaPared[j];
    }else{
    maxRight[j] = max2;
    }

    }

    for(int k=0; k

  • @matias25pinto
    @matias25pinto 3 года назад

    excelente contenido para programadores

  • @skraadiing1294
    @skraadiing1294 3 года назад

    Muy buen video y buena explicación nuevo sub

  • @deividmatute9004
    @deividmatute9004 3 года назад +2

    Te admiro muchísimo bro, me inspiras demasiado. Saludos desde 🇨🇷 Costa Rica 🇨🇷 Gracias por todo, seguí adelante que vas a crecer mucho. 😃

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Muchas Deivid! 🙌Estoy seguro que seguiremos creciendo juntos. Saludos! 🇨🇷

    • @cjseven077
      @cjseven077 3 года назад +1

      Pura vida deivid yo también soy 🇨🇷

    • @deividmatute9004
      @deividmatute9004 3 года назад +1

      @@cjseven077 pura vida compa 🇨🇷😃

  • @jhonrodriguez3978
    @jhonrodriguez3978 3 года назад +5

    Que útil y motivador me resultó el vídeo, muchas gracias, sería muy chévere que creara su propia comunidad en Discord, y charlasemos sobre temas técnicas o no técnicas de la industria.

    • @ProgramadorX
      @ProgramadorX  3 года назад +3

      Me alegra que te haya gustado Jhon! 🙌 Si me encantaría utilizar otra plataformas también pero no me alcanza el tiempo con el trabajo por el momento. 🙂 Por eso simplemente me enfoco en RUclips para brindar un mejor trabajo. Pero consideraré mucho tu sugerencia para un futuro. Saludos!

    • @jhonrodriguez3978
      @jhonrodriguez3978 3 года назад

      @@ProgramadorX totalmente comprensible, igualmente gracias por esos pedazos de vídeos, un abrazo

  • @oscaracosta6991
    @oscaracosta6991 3 года назад

    Que buen vídeo, saludos desde Paraguay : D

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Gracias por verlo. 🙌 Saludos Oscar! 🇵🇾

  • @luissuazo9785
    @luissuazo9785 3 года назад

    Muchas gracias por el video, saludos

  • @esdrasclother5195
    @esdrasclother5195 3 года назад

    Interesante video, saludos!

  • @jairoandrade1577
    @jairoandrade1577 3 года назад

    que buen video. bastante interesante.

  • @noloserick7782
    @noloserick7782 3 года назад

    Excelente!!

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Gracias por ver mis videos! 🙂🙌

  • @SCJonathan
    @SCJonathan 3 года назад

    Eres Un Crack Bro!!

  • @dafk_
    @dafk_ 3 года назад

    Me gusto mucho el vídeo, ahora a practicar como loco

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Gracias Dafk Ultra! 🙂 Si, definitivamente la práctica es todo. Saludos!

  • @tonydev7531
    @tonydev7531 2 года назад +1

    *Vamos a salir a caminar.*
    Los de la entrevista técnica D:

  • @luisfernandocanooliveros1585
    @luisfernandocanooliveros1585 3 года назад

    muy buen tutorial gracias

    • @ProgramadorX
      @ProgramadorX  3 года назад

      No hay de que, Luis! Saludos! 🙂

  • @diegofernandogalaviz7848
    @diegofernandogalaviz7848 3 года назад

    Me gustó el ejercicio aunque concuerdo un poco con el comentario anterior respecto a la complejidad, tal vez te falto un poco más ahondar no sólo en el Big O notación sino la definición de notación asintotica, en cuanto a la traducción, no estoy seguro que sea la técnica de los puntos sino la técnica de los dos apuntadores.. Excelente video 👍🏻

  • @jeffersonmarquez3762
    @jeffersonmarquez3762 3 года назад

    Excelente.

  • @gabrielcetina7898
    @gabrielcetina7898 3 года назад

    excelente video Bro, saludos desde Q.Roo, México, Que editor de texto usas?

  • @ivangonzalezcarrillo8027
    @ivangonzalezcarrillo8027 3 года назад +1

    Hola me gusto tu vídeo, me interesa mucho el análisis de algoritmos, me gustaría que hicieras mas vídeos de este tipo, podrías compartir un poco mas de tu experiencias.
    Saludos desde México
    Próximo ingeniero en software.

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Hola Ivan! Claro, con el tiempo voy a subir más videos de este tipo. 👍Te invito a que veas otros videos en mi canal en los que hablo más de mi experiencia. Saludos! 🇲🇽

    • @ivangonzalezcarrillo8027
      @ivangonzalezcarrillo8027 3 года назад

      @@ProgramadorX sigo todos tus videos, es importante aprender de tus conocimientos y aplicarlos en mi dia dia. por cierto estudio ingeniero de sotfware

  • @sebastiansegura4873
    @sebastiansegura4873 Год назад

    Muy buen contenido, solo me dieron mareos los zoom in / out (literal termine con nauseas jaja) supongo que tener que volver a enfocar el codigo tiene costo cuadrático para mi cerebro

  • @victorriascos5202
    @victorriascos5202 3 года назад

    sos un capo , tengo 16 años y estoy aprendiendo programacion , tu eres una inspiracion para mi , cuando me convierta en un programador volvere y escribiré.
    #include
    using namespace std;
    int main()
    {
    cout

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      😁 Excelente Victor! Estoy seguro que con con esfuerzo lograrás tus metas! 💯💻 Saludos!

  • @sampor2919
    @sampor2919 3 года назад +1

    13:48 escuche ese soundtrack y me asuste jajaja, pense que tenia otra pagina abierta.

  • @galaarendell8264
    @galaarendell8264 3 года назад

    ❤❤ la nena y la nieve 😘😘

  • @VrisToK
    @VrisToK 3 года назад

    15:50 AVALANCHA!!! 🤣🤣

  • @DjJoTaCeft
    @DjJoTaCeft 2 года назад

    yo lo logre sin ver tu video pero me tomo hacerlo en 42 lineas de codigo, Soy estudiante de Soy Henry

  • @luisfruiz8542
    @luisfruiz8542 3 года назад +1

    Muy bueno tus videos, quiero recomendación para medir mi logica o que debo de hacer para mejorarlo, recien empiezo en esto de la programación

    • @ProgramadorX
      @ProgramadorX  3 года назад +2

      Gracias Luis! 💯 Todo es práctica. Crea muchos proyectos, resuelve algoritmos, y practica diariamente. Esto toma tiempo así que tómalo con calma y disfruta del proceso. Muchos éxitos Luis! 🙂

  • @miguelangelortegaavila4547
    @miguelangelortegaavila4547 3 года назад +1

    Se me ocurre (me enfoco en velocidad no en ahorro de memoria)
    1.- Ordenar la lista de mayor a menor.
    2.- Guardar la lista en un mapa (treemap) donde el valor es mi key y mi valor es un TreeSet de índices (estará para re iterar una sub lista para evitar un while.
    3.- Recorrer la lista original.
    4.- Establezco el valor máximo a 0
    5.- Por cada elemento de la lista original de izquierda a derecha compruebo si es el mayor mayor. Si es mayor al máximo anterior busco en mi mapa el valor actual después busco si existe en mi treset. Si existe género una sub iteración hasta el muro (esto gracias al mantener y treeset)
    6.- Ya me hice bolas y voy a tirar código... en unas horas lo pongo.
    recorrer la lista guardando el máximo (1 sola iteracion) guardando el índice del mayor valor y generando una sub lista recorriendo esta segunda cuando.

    • @miguelangelortegaavila4547
      @miguelangelortegaavila4547 3 года назад

      Me di cuenta que con un solo bucle y acumulando alturas podía calcular el dato de mejor manera.

    • @armandolo17
      @armandolo17 Год назад +1

      Mira, con el solo ordenar la lista, la complejidad minima aumentaria a O(n log(n)) asumiendo que uses un buen algoritmo para ordenar, encambio la opcion optima que se propone seria de O(n)

  • @tudev234
    @tudev234 Год назад

    Buena a tenerlo en cuenta. Consulta en necesario hacerlo en un diagrama de flujo la resolución del problema? Piden las grandes empresas o solo de frente a programarlo una vez q se encuentra la solución más óptima.?

  • @fernandopoveda5485
    @fernandopoveda5485 3 года назад

    Bueno, yo habría identificado el primero y el segundo pico mas alto, y comenzaría a recorrer a la altura del segundo pico mas alto de la matriz, en una variable voy acumulando los cuadros equivalentes a nieve.

  • @lovecodewindows3378
    @lovecodewindows3378 2 года назад

    Tua contenidos son excelente,, tengo una pregunta, probé una forma de crear ese algoritmo con 2 variables con celdas vacias y una constate con celda llena, y cree un bucle for rellenando los espacios vacios

  • @brandonotzin5788
    @brandonotzin5788 Год назад +1

    Antes de ver el vídeo completo dare una solución, espero no sea la misma.
    Si lo pensamos se trata de una tabla en la que debemos ir eliminado filas de arriba hacia abajo y contacto solo cuando haya retención de nieve para esto realizamos lo siguiente:
    1) un ciclo while que se detenga cuando el arreglo sea igual a una arreglo de ceros
    2) crear una función que encuentre el máximo o máximos de una función y retorne un arreglo de los máximos, un arreglo de los índices de los máximos y el número de máximos.
    3) crear un if que verifique si hay un máximo o hay más de un máximo.
    4) Por último dentro del while colocamos el if:
    Si existe un solo máximo
    Ejecutamos la función para encontrar el segundo o segundos números más grandes, (esto removiendo al arreglo original el máximo)
    Con esta información reemplazamos el máximo por el segundo más grande (esto para que haya almenos 2 máximos)
    se repite el while pero con un arreglo de almenos 2 máximos, con esto pasamos a la segunda condición del if
    Else
    Si existe más de un máximo:habrá retención de nieve, si lo pensamos bien se trata de sumar arras de rectángulos con altura (máximo -2 número más grande del arreglo)
    Y base (índice máximo1 -indice máximo2-1), notar que la cantidad de estos rectángulos será el número de máximos -1, por eso es necesario que haya más de un máximo, una vez guardado las áreas de los rectángulos, repetimos el proceso de asignarle a los máximos el segundo número más grande, y realizando este ciclo while llegaremos a tener el arreglo de ceros y únicamente salvamos la suma de los rectángulos que es la cantidad de nieve.

    • @brandonotzin5788
      @brandonotzin5788 Год назад +1

      Ahora veo que mi solución utiliza 3 loops, y que el de puntero es más óptimo porque no hace falta calcular un máximo de todo el arreglo es decir el recorrido termina al llegar al máximo

  • @josainsite5141
    @josainsite5141 Год назад

    Creo que es posible reducir aún mas la complejidad del problema con recursividad

  • @mariofreddy7353
    @mariofreddy7353 3 года назад

    genial tu metologia y tu solucion , donde puedo conseguir mas algoritmos asi

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Gracias Mario! Deje unos links en la descripción para practicar más de estos algoritmos. Saludos! 🙂

  • @esneidermorales
    @esneidermorales 2 года назад

    Al principio el objeto o la lista era [0, 1, 0, 2, 1, 0, 3, 2, 1, 1, 1, 5, 0, 2 ] y hice todos los ejercicios asi y me tenia loco , ya que no me daba los resultados esperados, luego me di cuenta que habia una equivocacion, lo corregí pero no me daba tampoco, y al final del video vuelvo a ver la grafica , y habia cambiado el ultimo número de 2 por el 1, quedando hacia la lista [0, 1, 0, 2, 1, 0, 3, 2, 1, 1, 1, 5, 0, 1 ] con el 1 al final , ajajajajajajaja resuelto el problema...

  • @hruiz
    @hruiz 3 года назад +1

    Me gustan mucho tus videos... este ejercicios genial... Pero... podrías quitar tanto salto de zoom en los videos... estar acercando y alejando no me dejó concentrar en seguir la secuencia del codigo

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Gracias por ver mis videos. 🙌 Estaba tratando de hacer algo diferente pero a mi tampoco me gustó mucho después de verlo. También me aseguraré de que las letras sean más grandes para el próximo tutorial. Aprecio tu sugerencia hruiz. 🙂 Saludos!

    • @dealvin
      @dealvin 3 года назад

      @@ProgramadorX un poco más de cerca, para poder ver mejor el código, por favor.

  • @hectorairyjimenezhernandez3381

    Recomiendas algún libro o alguno de tus cursos que ayuden para mejorar en este tipo de ejercicios ?

  • @marcoalexis7388
    @marcoalexis7388 3 года назад +1

    Increíble como siempre bro! Deberías hacer un video de como mejorar la lógica de programación o hacer una serie así resolviendo este tipo de ejercicios, sigue así compa 💪🏽🇪🇨

  • @figaarillo
    @figaarillo 3 года назад +2

    Me hace acordar a mis primeros años en la facu donde, para mejorar la lógica, el profe nos daba este tipo de ejercicios para resolver. Ahora hace rato que no hago cosas así, pero es re entretenido hacerlos y más cuando tienen esa pinta de parecer fáciles y son re difíciles.
    Ah y para cosas como estas es que valoras haber sufrido con las clases de cálculo y algebra 😂😂😂

  • @SpartakoFK
    @SpartakoFK 3 года назад

    estoy empezando a estudiar para programador por mi cuenta y bueno empece por java y parece que algo entendi mas que entender aleer el codigo que has creado me encantaria saber como sabes bro un saludo desde españa eres un crak!! si tienes alguna recomendacion que me pueda ayudar a aprender bien te lo agradeceria algun libro curso o lo que sea es bienvenido !! sigue asi dandole caña que eres muy bueno tio!!

    • @ProgramadorX
      @ProgramadorX  3 года назад +2

      Muchas gracias spartakoFK! 💯 Puedes revisar el libro 'Cracking the coding interview' que tiene este tipo de ejercicios o puedes utilizar recursos como leetcode y hackerrank. Todo es práctica, así que resuelve muchos ejercicios diariamente. También puedes tratar de resolver este en Java. 😁 Saludos! 🇪🇸

  • @starkgamer6038
    @starkgamer6038 3 года назад +1

    *@programador X, Master, Apenas estoy comenzando en esto de la programacion, Quiero Aprender Ingeniería de Software Para vivir es Austin Texas.*
    *Pero no tengo dinero, Como puedo aprender todo lo de este video, Y todo lo que necesita un Ingeniero de Software de forma gratuita??*
    *_Y Muchas Gracias por tu videos @programador X_* 💙

    • @ProgramadorX
      @ProgramadorX  3 года назад +2

      Hola __StarkG__! Toda esta información está en línea. Mira mi video de 'Mi Plan de Estudios` junto con 'Ruta de programador web' para tener una mejor idea. También estoy dejando recursos en las descripciones de mis videos y hay otros RUclipsrs y blogs que hacen algo como yo. 🙂 En Austin vas a encontrar muchas oportunidades. Muchos éxitos! 💯

    • @starkgamer6038
      @starkgamer6038 3 года назад

      @@ProgramadorX *WOW MUCHAS GRACIAS, hasta ahora solo usaba "Solo Learn" Gracias por existir* 💛

  • @esneidermorales
    @esneidermorales 2 года назад

    Hola un placer escribirte, te sigo porque me gustan los problemas que planteas, pero tengo una consulta, no se si estoy en un error yo, o es cosa mia, pero cuando haces el objeto ( list ) el numero que esta al final de la lista deberia de ser 1 ? segun la grafica que colocas en el video, sigues un patron donde dices que en esa lista colocas 0 (cero) cuando no hay bloques, y colocas el numero de bloques que hay segun sea el caso, siguiendo el orden de izquierda a derecha el ultimo deberia de ser 1 , y no 2, ya que en ese espacio solo hay un bloque, por favor corrigeme, ya que los calculos a mi no me dan el resultado esperado.... gracia de antemano...

    • @InvisoX
      @InvisoX Год назад

      En el minuto 2:02 menciona (con una anotación) que sí debería ser 1 el número final de la lista.

  • @K-Dano
    @K-Dano 3 года назад

    Hermano que hay de programar en R , crees que es bueno? Que piensas del futuro de las finanzas y la programacion?;

  • @CherryBomb-
    @CherryBomb- 3 года назад +12

    Este es el link al problema por si alguien quiere intentarlo:
    leetcode.com/problems/trapping-rain-water/

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Si! 🙌 Leetcode tiene muchos buenos algoritmos incluyendo este. Gracias por compartir, Cherry Bomb! 💯

  • @erickjoselllorarivera7252
    @erickjoselllorarivera7252 3 года назад

    Nice

  • @KATalyzt_
    @KATalyzt_ 2 года назад

    Me estoy pegando un viaje con tantos zoomIn y zoomOut xd

  • @edarancibia
    @edarancibia Год назад

    para que seniority es este challenge? no creo que sea para un jr o ssr

  • @EduardoCastrogt
    @EduardoCastrogt 3 года назад +2

    ¿Algún libro que recomendes?

    • @ProgramadorX
      @ProgramadorX  3 года назад +4

      Hola Eduardo! El libro, Cracking the Code es el más utilizado por la industria para este tipo de algoritmos. 📚 Muchos éxitos! 👍🏽

    • @EduardoCastrogt
      @EduardoCastrogt 3 года назад

      Gracias@@ProgramadorX , estaré buscando el libro. 😁

  • @CristianDavidHenao
    @CristianDavidHenao 3 года назад

    Hermano como siempre genial tu contenido, te cuento que mañana retomo una secuencia donde invito personas del sector a mi canal, se llama #compartiendoExperiencias y seria genial poder contar contigo más adelante! un saludo y nuevamente felicidades por aportar a la comunidad!

    • @ProgramadorX
      @ProgramadorX  3 года назад +2

      Muchas gracias Cristian! 🙂 Tu canal se ve muy bueno también. Felicitaciones! 💯 Si, en estas semanas estoy un poco ocupado pero hablemos más por Instagram para una futura colaboración. Saludos!

    • @CristianDavidHenao
      @CristianDavidHenao 3 года назад

      @@ProgramadorX claro que sí y tranquilo que podríamos mirarlo para futuro no problem, un abrazo

  • @silasmachado2925
    @silasmachado2925 3 года назад +2

    Ola te veo desde Brasil en mi Mobile but su imagem no I cano"t see en mi pantalla.
    Tiene bueno conteúdo but. Imposible ver en la pantalla por la falta de nitidez. Vale.

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Gracias por ver mis videos Silas! Estos tutoriales son difíciles de hacer para dispositivos mobiles pero me aseguraré de hacer las letras muchos más grandes la próxima vez. Mil disculpas y saludos! 🙂🇧🇷

  • @geometriaconruben2392
    @geometriaconruben2392 3 года назад

    hola..!!! quisiera hacerte una consulta, soy docente de matemáticas y quisiera hacer un pizarra digital, estaba aprendiendo un poco de python, crees que pueda hacerlo en ese lenguaje de programación o que lenguaje me recomiendas, muchas gracias de antemano

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Hola Ruben! Puedes hacerlo con cualquier lenguaje pero la pregunta es, en donde va a existir esta pizarra? Si es en una pagina wen, puedes utilizar Javascript. Otros lenguajes tiene otros usos. Saludos!

    • @geometriaconruben2392
      @geometriaconruben2392 3 года назад

      @@ProgramadorX muchas gracias por responderme, quería que sea de escritorio

  • @josechirinos6557
    @josechirinos6557 3 года назад

    esta bueno ver ejercicios asi y la forma que lo desarrollas y explicas, pero ese cambio de tamaño de pantalla me volvio loco, me fue imposible mantenerme concentrado. de resto gracias por el aporte

  • @MiguelAngel-ku6nq
    @MiguelAngel-ku6nq 2 года назад

    Solo quiero saber en dónde estás codificando

  • @irissants5120
    @irissants5120 3 года назад

    Hola, como puedo contactarte
    Me encantan tus videos

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Tus comentarios en mis videos (justo en el dia que los publico) son la mejor manera de comunicarte conmigo. También me ayudas con el algoritmo de RUclips y tus preguntas pueden ayudar a la comunidad. 🙂 Saludos Iris!

  • @LeugimPrograma
    @LeugimPrograma 3 года назад +1

    Del 00:05 al 00:12 típico estereotipo de un programador XD, Felicidades por los 30k

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      😂 Si! Muchas gracias Leugim! Seguimos creciendo! 💯

  • @leomarello
    @leomarello 2 года назад

    Hola, sabes de alguna pagina donde pueda acceder a ejercicios como este para poner en practica? gracias!

    • @ProgramadorX
      @ProgramadorX  2 года назад +2

      Leer code, hackerank, algo expert

    • @leomarello
      @leomarello 2 года назад

      @@ProgramadorX Gracias! justo arranque con hackerrank

  • @fernandoherreracastillo3062
    @fernandoherreracastillo3062 3 года назад

    15:45 Estaba en fullscreen y pensé que mi computadora se había malogrado

    • @ProgramadorX
      @ProgramadorX  3 года назад

      😂 Me alegra que tu computadora no se haya malogrado!

  • @takesomecoffee2363
    @takesomecoffee2363 3 года назад

    Este seria un algoritmo de nivel facil, no?, por que la verdad a mi me lo pareció y eso que aun no llego a la parte de Algoritmos en JS.

    • @ProgramadorX
      @ProgramadorX  3 года назад +1

      Que bien que te pareció fácil, takeSomeCoffee! 🙂👍 Yo lo pondría en un nivel medio a dificil por lo que la solución optima require el 'Two Pointer Technique' y require de entendimientos de matemáticas. Hay personas que son naturalmente buenas en esto y si eres una de ellas, podrás encontrar trabajos muy avanzados en este campo. 💯 Saludos y muchos éxitos!

    • @SomosDyyor
      @SomosDyyor 3 года назад

      Ya apareció el Mark Zuckerberg 😑😑

  • @elkindiaz8200
    @elkindiaz8200 3 года назад

    Como hago para mejorar mi logística de programación y cómo mejorar la forma de resolver algoritmo?

    • @bladimirbenavides3940
      @bladimirbenavides3940 3 года назад +1

      Elkin un libro que me ayudó muchísimo fue: Fundamentos de programación: algoritmos, estructura de datos y objetos de Luis Joyanes Aguilar.
      Lo que hacía era leer y tratar de desarrollar las actividades en Python, que es el lenguaje que estoy aprendiendo.

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Muy de acuerdo con Bladimir. Utiliza libros con ejemplos. Otro libro es Cracking the Code. Ser bueno en estos ejercicios toma mucho tiempo y práctica asi que tómate tu tiempo haciendo uno o dos ejercicios diarios. Disfruta del proceso porque realmente toma tiempo. 🙂 Saludos!

    • @andresfajardo7383
      @andresfajardo7383 2 года назад

      @@ProgramadorX Sabes cuál es el autor? porque veo muchos libros con titulos muy parecidos.

  • @alejandrofernandez1997
    @alejandrofernandez1997 2 года назад +1

    Hola! comparto mi solución con python:
    lista = [0, 1, 0, 2, 1, 0, 3, 2, 1, 1, 1, 5, 0, 3, 0, 0, 1, 0, 2, 0, 0]
    lista_maximos_1 = []
    lista_maximos_2 = []
    maximo_1 = 0
    maximo_2 = 0
    punto_de_corte = lista.index(max(lista)) + 1
    lista_reducida_1 = lista[:punto_de_corte]
    for i in lista_reducida_1:
    if i > maximo_1:
    maximo_1 = i
    lista_maximos_1.append(maximo_1)
    else:
    lista_maximos_1.append(maximo_1)
    print(lista_maximos_1)
    print(lista_reducida_1)
    lista_reducida_2 = reversed(lista[punto_de_corte:])
    for i in lista_reducida_2:
    if i > maximo_2:
    maximo_2 = i
    lista_maximos_2.append(maximo_2)
    else:
    lista_maximos_2.append(maximo_2)
    print(lista_maximos_2)
    print(lista_reducida_2)
    rta = sum(lista_maximos_1) + sum(lista_maximos_2) - sum(lista)
    print("Cantidad de unidades de nieve: " + str(rta))

  • @adrianmt7357
    @adrianmt7357 3 года назад

    10:27
    Ahora entiendo porque EDteam y Platzy son tan lentas eso me da desconfianza sobre los cursos 😂

    • @juliogarciape
      @juliogarciape 3 года назад +1

      Son empresas pequeñas todavía a comparación de compañias como RUclips. Además creo que Edteam ni siquiera inversión tiene.

    • @ProgramadorX
      @ProgramadorX  3 года назад +4

      Como dice Julio, talvéz tienen que invertir un poco más en su código y CDNs. Superficialmente puedo decir que me parecen muy buenas sus iniciativas en LATAM donde hace falta más información al día sobre la tecnología.

  • @eduardomezagallardo2321
    @eduardomezagallardo2321 3 года назад

    Me quise poner un reto y hacer el ejercicio por mi cuenta antes de ver el video, programo en python, llevo 1 mes programando, y me gustaría que me retroalimentaras.
    Mi análisis es el siguiente:
    Cuento la nieve por niveles (niveles en el eje 'y', nivel 0, nivel 1, etc..) con los espacios que hay entre cada columna. Por ejemplo:
    En el nivel 0 hay 3 espacios entre las comunas.
    En el nivel 1 hay 5 espacios entre las comunas.
    En el nivel 2 hay 4 espacios entre las comunas.
    Dando un total de 12.
    Nota: jugué con los datos de la lista para corroborar qué funcione.
    #Da una Lista de alturas de paredes, crear una función que calcule la cantidad de nieve que atrapan las paredes
    lista = [2,0,4,0,1,0,2,1,0,3,2,1,1,1,5,0,1,0,3]
    def niveles(lis):
    totalNieve=0 #Contador total de la nieve
    while(True): #Se hara un ciclo hasta que ya no haya nieve
    for i in range(len(lis)):#for para iterar y validar la lista con if´s
    if lis[0]

  • @NahomyUchija
    @NahomyUchija 3 года назад

    Primer comentario

  • @alumnonft4165
    @alumnonft4165 2 года назад

    Quería enfocar en la imagen, pero ver que cada segundo hay un corte de acercamiento es un fastidio

    • @ProgramadorX
      @ProgramadorX  2 года назад +1

      😬 Lamentablemente no puedo cambiarlo una vez subido pero evito esto en próximos videos.

  • @yeissoncamilovillamilbland558
    @yeissoncamilovillamilbland558 3 года назад

    Porque no deja la imagen quieta cuando esta codificando....super cansón la aleja y vuelve y la acerca que feo...

    • @ProgramadorX
      @ProgramadorX  3 года назад

      Disculpa Yeisson! Evitaré hacer esto en mis futuros videos. Toma la vida con calma, todos cometemos errores. 🙂

  • @theRyusito
    @theRyusito 2 года назад

    chamo , no entendi un coñooo :c y pege todo el codigo y no funcionaba ajjajajaj no se nada de programacion :c (no se como ejecutar eso en la consola

  • @luiscarrillo1773
    @luiscarrillo1773 3 года назад

    Eres ecuatoriano verdad por qué tines el acento de los quiteños

  • @RmaCarde
    @RmaCarde 3 года назад

    Mi solución en php.

  • @AndresZzGtr
    @AndresZzGtr 3 года назад

    me gusto pero no entendi nada jajaja

    • @ProgramadorX
      @ProgramadorX  3 года назад

      😂 Este ejercicio tiene una dificultad media a dificil. Así que no te preocupes Andres! Empieza con problemas fáciles, practica y poco a poco estarás resolviendo problemas más complejos. Saludos!