Resuelvo esta PRUEBA TÉCNICA de GOOGLE para PROGRAMADORES Junior

Поделиться
HTML-код
  • Опубликовано: 5 окт 2023
  • ¿Cómo es una prueba técnica de Google para programadores junior? Aquí te enseño cómo resolver una de las más habituales.
    🖥 Practica lógica de programación: retosdeprogramacion.com/seman...
    📱 Mis redes y enlaces de interés | moure.dev
    🕹 Twitch (En directo de Lunes a Viernes): / mouredev
    👾 Discord: mouredev.com/discord
    📖 ¡He publicado mi primer libro! "Git & GitHub desde cero"
    • Amazon: mouredev.com/libro-git
    • Leanpub: mouredev.com/ebook-git
    #Python #Programación #Junior

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

  • @mouredev
    @mouredev  9 месяцев назад +24

    ¿Qué te ha parecido?
    🖥 Practica lógica de programación: retosdeprogramacion.com/semanales2023

    • @valkubo5424
      @valkubo5424 9 месяцев назад

      Super genial el reto!, y poder tenerlo aquí en RUclips se me hace más cómodo, para ponerle pausa e ir paso a paso, mientras voy depurando el código y ver qué hace😂

    • @laspalmao7870
      @laspalmao7870 9 месяцев назад

      creo una lista con todas las porsibles combinaciones de 2 digitos, seguidos de las combinaciones de 3 digitos, de 4 digitos until lista.size(), y despues voy sumando cada linea de numero de la lista
      If suma == valorEsperado, a la lista final le añado los valores de la lista de todas las combinaciones a traves del index de la lista

    • @laspalmao7870
      @laspalmao7870 9 месяцев назад

      import java.util.ArrayList;
      import java.util.HashSet;
      import java.util.List;
      import java.util.Set;
      public class PruebaTecnicaGoogleMoureDev {
      public static void main(String[] args) {
      List numeros = new ArrayList();
      // Agrega tus 4 números a la lista
      numeros.add(1);
      numeros.add(2);
      numeros.add(2);
      numeros.add(2);
      numeros.add(3);
      numeros.add(4);
      numeros.add(5);
      numeros.add(6);
      numeros.add(7);
      numeros.add(8);
      numeros.add(9);
      numeros.add(10);
      List combinaciones = generarCombinaciones(numeros);
      int valorDeseado = 20; // Cambia este valor según tus necesidades
      List listaFinal = encontrarCombinacionesQueSumen(combinaciones, valorDeseado);
      for (List combinacion : listaFinal) {
      System.out.println(combinacion);
      }
      }
      public static List generarCombinaciones(List numeros) {
      List combinaciones = new ArrayList();
      for (int i = 2; i

    • @archstorm4866
      @archstorm4866 9 месяцев назад

      Tu comentario es de hace 10 horas, y el video es subido hace 4 horas

    • @migueldeirala
      @migueldeirala 9 месяцев назад

      ​@@archstorm4866es por que puedes programar los estrenos en un canal de RUclips.

  • @jarenague
    @jarenague 7 месяцев назад +16

    No tengo absolutamente ninguna idea de programación ni de lo que has hecho en el video, pero me he fumado un canuto, me he puesto el video y he flipado, me ha encantado verlo.

  • @fready_star
    @fready_star 9 месяцев назад +102

    No había visto antes como programas, lo que más puedo destacar es como analisas el problema y como vas estructurando la solución de manera muy ordenada. Se siente mucha calma y da gusto de ver :D

  • @juanayala7341
    @juanayala7341 8 месяцев назад +8

    Que Buen video, ver como analisas, planteas y resuelves el ejercicio es increible ademas de que uno entiende tu forma de analisar el ejercicio

  • @pablo-daniel-foglia
    @pablo-daniel-foglia 5 месяцев назад +6

    Tuve la oportunidad de verte en persona en BS AS en el ADA, lo que más me sorprendió fue tu aura, tu contenido es de diez pero lo que hace la diferencia es eso. Realmente no te vi un solo instante donde no contagiaras la sonrisa, el respeto, la buena onda y el empuje. Gracias por inspirar

  • @canteromusic789456
    @canteromusic789456 6 месяцев назад +2

    Increíble forma de explicar, sigue haciendo este tipo de contenido, estoy empezando en este rubro. Y quiero tener mucha experiencia.

  • @maccar621
    @maccar621 4 месяца назад

    Muchas gracias, me animas a continuar aprendiendo a programar con la forma de visualizar las posibles soluciones y errores que se pueden presentar en cada analisis de resultados

  • @davidincho
    @davidincho 9 месяцев назад +3

    Muy bueno, tengo que seguir aprendiendo, ya cuando tenga bien grabado en la.mente el lenguaje podré continuar con estos ejercicios, por ahora me centro en los fáciles, no me siento preparado para buscar un empleo todavía 😅

  • @noctis-a-r7785
    @noctis-a-r7785 7 месяцев назад +1

    Aún no estoy tan avanzado y estoy por ahora en c++ por la universidad, pero que cool lo que hiciste, no entendí casi pero más adelante se que lo entenderé, son muy entretenidos tus vídeos

  • @wilfredomartel7781
    @wilfredomartel7781 8 месяцев назад +4

    Hola Brais Moure, lo he realizado en java pero voy a intentarlo en python a ver que tal me sale. Gracias por compartir tu conocimiento con la comunidad.

  • @danielggerson411
    @danielggerson411 8 месяцев назад +11

    *no entendí ni una poronga pero sigo viendo videos como éstos porque son adictivos* 🫂

    • @victorandresdelcastillopum6821
      @victorandresdelcastillopum6821 2 месяца назад +1

      jajajajaja la sinceridad ante todo, bueno brother como experiencia te recomiendo solo practicar nuevamente hasta que veas la luz, es lo único que te ayudará a entender las cosas

  • @eldalai2
    @eldalai2 8 месяцев назад +2

    Me voy a sumar a los desafios, gracias por compartir la iniciativa. Porque no incluyes Unittests como parte del ejercicio y su resolución? Es algo que se busca mucho en las entrevistas también

  • @CarlosSanchez-mb6kj
    @CarlosSanchez-mb6kj 8 месяцев назад +4

    Buenas! Empece apenas unos dias un curso de python, la verdad que estoy algo agobiado con la cantidad de información recibida, poco a poco me estoy viendo todos tus videos mientras los voy programando, a ver si poco a poco se me van quedando las cosillas. Simplemente muchas gracias por el contenido me ayudas a darme algo de seguridad en lo que intento 👌

  • @gaby_developer3126
    @gaby_developer3126 8 месяцев назад

    Buenisimo moure! Voy a practicar!!! Graciasss

  • @game_space111
    @game_space111 8 месяцев назад +1

    Hola, genial, me uno a los retos semanales, sos súper 👍🏻

  • @malberbatista3038
    @malberbatista3038 8 месяцев назад +1

    Muy bueno me ayudo a darme cuenta que no voy mal, pero necesito fortalecer mas las bases.

  • @JEMMPEACK
    @JEMMPEACK 8 месяцев назад +7

    Para los nuevos eso es una cosa de locos.

  • @carlossuazo6094
    @carlossuazo6094 7 месяцев назад

    Buen video, en mi caso la forma que voy resolviendo los problemas es tomando todo por partes, luego las voy volviendo aun mas pequeñas asi resolver problemas dificiles se vuelve mas facil

  • @Nidaro
    @Nidaro 2 месяца назад

    interesante esto de ejercicios!!! hace mucho que no programo, empezare con los mas fácil :)

  • @ssagredo13
    @ssagredo13 12 дней назад

    Buenísimo Dev! Genio. Me hiciste recordar la parte bonita de codificar. ¡Saludos desde Chile!

  • @johnbonham7515
    @johnbonham7515 5 месяцев назад +1

    Hi, very nice, elegant solution, recursion is always kind of tricky. Just one little detail, I think you missed a couple of "no solution " cases, when the summation of the original list is smaller than the target number, and if the original list is empty. Nice video.

  • @bernardobarrilado9306
    @bernardobarrilado9306 8 месяцев назад +3

    Muy buenas. Antes de nada agradecerte estos vídeos. Por descontado q me uniré s los desafíos. Solo tengo un comentario, espero constructivo.
    El backtracking se basa en la recursividad, y no hay q tener tantas cosas en cuenta. Lo único q hay q hacer es una recursividad sin meter el elemento x. Y otra recursividad metiéndolo. Cuando se llega al final de la recursividad se chequea el vector auxiliar donde has ido metiendo o no cada elemento. Si la suma de ese vector es igual al número deseado y no está repetido. Se mete en la solución final. Sino pos a seguir con la recursividad.
    Del estilo:
    Backtracking (lista, aux, objetivo){
    Si no hemos llegado final(lista){
    Backtraking(lista+1,aux,objetivo)
    Meter(elemento,aux)
    Backtracking(lista+1,aux,objetivo)
    }
    Si suma (aux) = objetivo{
    Meter (aux, solución)
    }
    Y poco más. Todo lo hace la recursividad.
    Gracias y espero haberme explicado lo suficientemente bien

    • @makore666
      @makore666 3 месяца назад

      Lo he hecho como tú dices y va estupendo. Realmente no entiendo porqué utiliza un bucle for, creo que lo que provoca es invocar llamadas innecesarias. También es posible hacerlo por pura combinatoria, con un doble bucle for recorriendo dos veces la misma lista, pero en el enunciado dice que hay que hacerlo sin visitar más de 1 vez el mismo índice, así que no sería la forma correcta. También podría haber utilizado algún tipo de cola para ir guardando las llamadas sin tener que usar recursividad (cuando haces muchas tienes el riesgo que te de una excepción en la pila de llamadas).

  • @Fer.Mendoza
    @Fer.Mendoza 8 месяцев назад

    Hola Brais!excelente el video!y la explicacion!gracias por tu aporte ,como siempre!!.Que tema utilizas en visual studio code?

  • @criollo40
    @criollo40 8 месяцев назад +6

    Es el primer video de python en el que no me aburro! No tengo ni idea de programar y estaba planteandome aprender, me ha encantado! Ya sé que no he empezado por el principio, pero se entiende todo muy bien y me han entrado ganas de empezar. Gracias!

    • @kraken993
      @kraken993 7 месяцев назад

      y como esperas no aburrirte si te pones a ver videos de temas medianamente avanzados sin saber nada del tema? No razonas o que?

    • @pimentocheese618
      @pimentocheese618 6 месяцев назад

      @@kraken993Aprende a leer

    • @kraken993
      @kraken993 6 месяцев назад

      @@pimentocheese618 según tú que fue lo que no entendí?

    • @johanlmao804
      @johanlmao804 4 месяца назад

      ​@@kraken993 Que mal caes men...

    • @kraken993
      @kraken993 4 месяца назад

      @@johanlmao804 dije alguna mentira?

  • @matiasguaymas9236
    @matiasguaymas9236 4 месяца назад

    Que loco todo el tema del backtracking y recursividad me lo enseñaron en primer año de facultad, pero con Pascal, es increible como la logica es la misma, hermoso.

  • @greivin01
    @greivin01 8 месяцев назад

    EXCELENTE VIDEO

  • @jeisonhernandez-ue1nq
    @jeisonhernandez-ue1nq 7 месяцев назад +2

    Logre hacerlo a puro bucle for en 18 lineas. 💪
    Lo malo es que puede llegar a equivocarse si se usan varias veces numeros repetidos, pero con variedad de numeros funciona bien.
    def sum_function(sum_list: list, target: int):
    new_list=[]
    n=2
    possible_combination=[]
    for d,_ in enumerate(sum_list):
    for i,v in enumerate(sum_list):
    for x in range(n-1):
    for r,vr in enumerate(sum_list):
    if r>i+d:
    possible_combination=sum_list[i:i+n]
    if x==0 or vr!=sum_list[-1]: possible_combination[-1-x]=vr
    else: continue
    possible_combination.sort()
    if sum(possible_combination) == target and possible_combination not in new_list and len(possible_combination)

  • @calderon_jh
    @calderon_jh 8 месяцев назад +2

    mas sencillo pero tal vez menos eficiente es hacer primero una función que encuentre todas las combinaciones posibles, nCr con n e [1, len(set)] y si la suma de los elementos de esa combinación es el target y no ha sido agregada antes, entonces agregar a la lista resultado.

  • @jetienlaparole
    @jetienlaparole Месяц назад

    Buen viejo Moure. Espero ser programador en 3 anos. Voy a empezar con HTML Free Code Camp despues seguiré aprendiendo y voy viendo videos tuyos, e infinitos mas

  • @nicorovetta
    @nicorovetta 8 месяцев назад

    Hola Brais!!Excelente video!!😃.Me podrias decir que tema de visual studio code usas? 🙌

  • @user-so7wi8bd6h
    @user-so7wi8bd6h 4 месяца назад

    queria por favor que explicaras como se puede agrupar registros y sumarlos en un reporte con phppdf.
    Claro Si esta en tus posibilidades, es que necesito saber mas de logica. De antemano gracias

  • @migueldeirala
    @migueldeirala 9 месяцев назад

    Codewars en estado puro. Echaré un vistazo a tus retos.

  • @DeStRoYeRxify
    @DeStRoYeRxify 6 месяцев назад

    Podrias explicar si se puede hacer una poda de optimalidad para este ejercicio?

  • @jorgeluismedina6590
    @jorgeluismedina6590 9 месяцев назад +4

    Hola muchas gracias por compartir su conocimiento con el resto de la comunidad, y mejor aun de la forma en la que lo esta haciendo. Una observación en la solución. El principal problema de los algoritmos recursivos para este tipo de solución es que no siempre satisfacen los valores de entrada. Si el valor objetivo es muy grande y los elementos de entrada muy pequeños la pila de ejecución del ordenador termina colapsando debido a las llamadas recursivas. Pienso que seria mejor solución usar técnicas de programación dinámica ( soluciones iterativas con memorización).

    • @amaury_permer
      @amaury_permer 9 месяцев назад +8

      Aparte que hacer un sort dentro ya es bastante pesado, creo que era más fácil hacer un grafo e imprimir los caminos que sumen 6,asi se evita ocupar los que ya se habían visitado.

    • @user-tx2wk2es8n
      @user-tx2wk2es8n 4 месяца назад

      @@amaury_permer cómo sería a través de un grafo? tengo entendido que el backtracking genera un grafo implícito así que cuál es la propuesta que sugieres?

    • @user-tx2wk2es8n
      @user-tx2wk2es8n 4 месяца назад

      @jorgeluismedina6590 gracias por el dato, para mayor alcance a alguien que lea se hace referencia a la programación dinámica descendente o buttom-up

    • @user-tx2wk2es8n
      @user-tx2wk2es8n 4 месяца назад

      @@amaury_permer busqué un poco más, encontré que te refieres a generar una estructura de grafo y controlarla de manera iterativa (programación dinámica en retroceso). Gracias por el comentario incentiva a investigar!

  • @Adriii204
    @Adriii204 8 месяцев назад

    Muy buen video

  • @miguelbernal4557
    @miguelbernal4557 8 месяцев назад

    Nada mas por necio encontré todas las posibles combinaciones, obviamente no es ni de cerca buena idea jajajaja, al menos funciono :'v, gracias por tanto contenido de valor!

  • @Pepecode
    @Pepecode 9 месяцев назад +4

    Hace poco tuve una entrevista técnica para Amazon y uno de los dos ejercicios precisamente se resolvía con backtracking y no sabía, pero gracia a este video la próxima ya estaré más que listo 😈

    • @mouredev
      @mouredev  9 месяцев назад +2

      Muchas gracias por compartirlo. Aporta mucho valor al ejercicio.

    • @cdcm
      @cdcm 9 месяцев назад +2

      Hola, podrías contarme cuanta experiencia es necesaria para siquiera ser considerado para una entrevista en Amazon ? También quisiera postular y probar suerte

    • @Pepecode
      @Pepecode 9 месяцев назад

      @@cdcm te sorprendería que no mucha bro, yo tengo año y medio y ellos me mandaron correo a mi para aplicar, al parecer están en una ola de contratación masiva porque he visto que a varios les ha pasado similar

    • @cdcm
      @cdcm 8 месяцев назад

      @@Pepecode muchas gracias por la info

    • @danielggerson411
      @danielggerson411 8 месяцев назад

      Te gané 😁

  • @snithfferx
    @snithfferx 8 месяцев назад +1

    Ya desde un principio, me trasladaste a primaria y me he quedado en blanco.
    Al final creo que te he escuchado hablar mandarin.... hace tiempo que no me pasaba.

  • @sailorlog
    @sailorlog 8 месяцев назад +6

    Pues si esto es de junior, me puedo ir yendo al carajo...jajajaj

  • @diegoandresveracervantes9599
    @diegoandresveracervantes9599 7 месяцев назад

    Que buen canal.

  • @PabloEmmanuelDeLeo
    @PabloEmmanuelDeLeo 7 месяцев назад +1

    Podrias usar el Set para que no tengas duplicados.

  • @Negrazo18
    @Negrazo18 8 месяцев назад +2

    Pausé el video e intenté resolverlo por mi cuenta, quise hacer un bucle for anidado 💀💀. No conocia lo del Backtracking, voy a seguir estudiando! Buen video.

    • @user-tx2wk2es8n
      @user-tx2wk2es8n 4 месяца назад

      No es una mala estrategia mientras se tenga controladas las salidas. Tu solución sin querer es una solución que aplica programación dinámica buttom-up o de retroceso o descendente. Para hacer el backtracking no es necesario aplicar recursividad; se puede implementar con iteraciones (bucles anidados). La recursividad debe ser cuidadosamente implementada ya que puede generar un desborde de la pila de llamada (error stack overflow) cuando se llama múltiples veces a la función y el seguimiento de esta es lioso.

  • @educafis56
    @educafis56 8 месяцев назад +1

    Que interesante solución. Yo lo resolví construyendo paso a pasa listas agregando, o no, un elemento, luego removiendo lo innecesario. Básicamente creo una lista [ [ ] ] y con el ejemplo: continua a [ [ ], [1]] como nada rebasa 6 sigue contruyendo: [ [ ], [1] , [5],[1,5]] aquí [1,5] es solución, lo agrega (pues no aparece otra solución igual) y quita de la lista. sigue construyendo a [ [ ], [1], [5], [3], [1,3], [5,3]] como [5,3] rebasa 6, lo quita y sigue construyendo. Hasta que en efecto llega las soluciones.

    • @josainsite5141
      @josainsite5141 8 месяцев назад

      Buena solución pero eso gasta memoria y tiempo de lo lindo, con una lista enorme de números revienta

    • @educafis56
      @educafis56 8 месяцев назад

      @@josainsite5141 justo por eso puse que una vez encuentre una solución o algo que supere el target lo quite. Además ordenando la lista de mayor a menor hace que muchas combinaciones se vayan eliminando desde el principio, y considerando que para el paso n, quitar un elemente ahorra 2^(l-n) elementos, donde l es la longitud de la lista, considero que ayuda bastante. Es cierto que consume mucho, pero lo optimicé lo más que pude.

  • @dulyvillamizar
    @dulyvillamizar 9 месяцев назад

    Excelente parcero!

  • @rodolfotovartorres
    @rodolfotovartorres 9 месяцев назад +1

    Excelente reto brais aunque no seas novato en programación ayuda a ejercitar la logica ❤ si tienen tiempo pueden hacer los retos los recomiendo

  • @leocabre13
    @leocabre13 7 месяцев назад

    Me gustó pero hubiera agregado una explicación completa cuando el problema ya estaba resuelto. Es decir ir leyendo todo el código y explicando cada función

  • @jesusalfredoferrerarambule5240
    @jesusalfredoferrerarambule5240 8 месяцев назад +1

    bueno soy muy novato pero yo lo haria asi sin ver el video:
    uso el numero tanget como referencia
    recorro con un for los datos de la lista y si son igual o menor que los reste de una copia del taget
    los elementos que voy restando los saco con un pop y guardo en listas nuevas cuando la resta de 0
    en mi cabeza suena bien pero esa seria mi idea no se si funcionaria xD
    EDIT: me exploto el cerebro, brutal 💪💪

  • @jeffbezzos
    @jeffbezzos 7 месяцев назад

    creo que podrías añadir una poda alfa-beta a las combinaciones que se van generando para descartar los subárboles que sabes de antemano que no van a cumplir el target, pero hablo de cabeza, estudié esto hace más de 25 años.. creo que de hecho para optimizar el backtracking se recurría a la programación dinámica, para evitar la recursividad... el caso es que luego en los trabajos reales no te sueles encontrar este tipo de optimizaciones. Recurrir a este tipo de pruebas no garantiza que la empresa encuentre a los mejores talentos. Probablemente alguien que sepa resolver fácilmente este tipo de problemas no sabrá trabajar en equipo, me he encontrado esta situación en muchos proyectos. Talento no es solo ser buen técnico, de hecho poco a poco con las IA ayudando a codificar, serán más importantes otro tipo de habilidades menos técnicas

    • @moq22
      @moq22 6 месяцев назад +1

      Pues sí, de hecho, la recursividad no la utilizo en ningún momento en el código hace siglos. Entiendo que en librerías igual hay funciones recursivas, sobretodo matemáticas.
      Lo que intentan hacer con este tipo de problemas es seleccionar personas que son rápidas mentalmente con problemas matemáticos complejos aplicados a la programación. Estos son problemas como haz el cubo de rubik en 5 minutos. Ya sabemos que con hacer eso no te vuelves rico :-)
      Pero lo más seguro que no serán los mejores profesionales. El proceso de construcción de software es mucho más complejo y multifactorial.
      Hay gente muy válida e incluso que se ha hecho famosa por sus proyectos que ha hecho este tipo de pruebas y no la ha pasado, es lo más normal.
      Volviendo a la solución propuesta por moures dev, yo intentaría hacerlo de otra forma que igual es menos eficiente y luego igual quedaría más claro para alguien que esté leyendo mi código. Y por otro lado no tengo claro que la recursividad sea más eficiente, carga mucho la pila.
      De todas formas es una cuestión personal.

  • @cdcm
    @cdcm 9 месяцев назад

    Yo he estudiado por mi cuenta este tipo de problemas antes, Backtracking, aunque al inicio fue difícil ver como partiendo de un arbol de decisiones se forma el código, luego se me hizo mas fácil con la practica

  • @LMYD4
    @LMYD4 8 месяцев назад

    Otra posible solucion en python:
    import itertools
    def function(lista, objetivo):
    soluciones = []
    for i in range(len(lista)+1):
    soluciones += [solucion for solucion in itertools.combinations(lista, i) if sum(solucion) == objetivo]
    return set(soluciones)
    print(function((1,2,3,4,5,6,7,8,9,10), 10))

  • @jhoancampo758
    @jhoancampo758 8 месяцев назад

    excelente la forma en que realizas la prueba pero me dolió la cabeza

  • @albertoherrerahp
    @albertoherrerahp 7 месяцев назад

    La parte de la iteración con la recursion adentro me marea, será que puedes hacer un video haciendo énfasis en esa parte porfa , el resto súper claro bro, gracias !😊

    • @emanuelfloresleon2521
      @emanuelfloresleon2521 7 месяцев назад +1

      Revisate el tema de permutaciones y combinaciones, te va ayudar bastante ya que practicamente es el recorrido de un arbol con varios hijos

  • @josediegodorado160
    @josediegodorado160 8 месяцев назад

    Entendí la mayoria de la explicación pero no consigo ver donde se valida que la combinacion correcta no se repita, es decir, si ya ha metido [1,2,3] no vuelva a meter esa combinación y busque otra

  • @silver-wp7ky
    @silver-wp7ky 8 месяцев назад

    Wow, pero aún necesito practicar más y ➕➕➕➕

  • @andresblasiche138
    @andresblasiche138 4 месяца назад

    Yo agregaría otra condición de finalización: numbers[start] > target

  • @ike_shadowofdeth
    @ike_shadowofdeth 5 месяцев назад

    lo que no me queda claro es porque si dice que solo se puede usar cada elemento una vez, el 1 se usa para la combinación de [1, 5] y [1, 3, 2] el 1 se está usando dos veces...

  • @soubakouh
    @soubakouh 5 месяцев назад +1

    las pruebas se pueden hacer en Game Maker? xd

  • @kiichain_
    @kiichain_ 4 месяца назад

    20 ganadores tendrá la competencia de validadores de Kii Global.

  • @cucudrulo9471
    @cucudrulo9471 9 месяцев назад +1

    pues con la tontería me ha llevado casi 1h hacer el problema XD y bastantes más líneas de código. Son interersantes estos problemas

  • @dominicandev6477
    @dominicandev6477 9 месяцев назад

    🔥💯

  • @CRamirezBedoya
    @CRamirezBedoya 9 месяцев назад

    Me gusto mucho el video

  • @HorelvisCastilloMendoza
    @HorelvisCastilloMendoza 6 месяцев назад

    En java es una fución recursiva!

  • @marconietto
    @marconietto 9 месяцев назад

    Maestro 💪

  • @Adriellusion
    @Adriellusion 6 месяцев назад

    Hola yo lo pude resolver en solo 3 con el método de Tatchenverg

  • @manuelcachondo
    @manuelcachondo 8 месяцев назад

    En mi cerebro hay que restar y usar recursividad, Moure: Backtracking. yo: what? Busco y es lo mismo xD

  • @jesusmiguelacostadiaz8822
    @jesusmiguelacostadiaz8822 5 месяцев назад

    Dos for para que recorra las dos listas y ya

  • @jose6433
    @jose6433 8 месяцев назад +1

    solo como mejora, si llegas donde el evaluador de Google (que este probablemente haya ganado algún campeonato de DSA) y le muestres tu solución, probablemente quedarías fuera, por qué? Pues simple, porque backtracking consume muchos recursos, como consejo, EVITEN este tipo de funciones, recursividad u otras DADO EL CASO. Saludos y éxito!!

    • @alexvalle997
      @alexvalle997 8 месяцев назад +1

      Cuál sería el camino adecuado para solucionar el ejercicio?

    • @carlosbaldwin6335
      @carlosbaldwin6335 8 месяцев назад +1

      @@alexvalle997 nunca te respondera, porque es falso lo que dice

    • @binarycolors1738
      @binarycolors1738 7 месяцев назад

      ​@@carlosbaldwin6335cierto

    • @user-tx2wk2es8n
      @user-tx2wk2es8n 4 месяца назад

      @@alexvalle997 programación dinámica de retroceso o buttom-up (se hace con iteraciones no se usa la recursividad)

    • @jetienlaparole
      @jetienlaparole Месяц назад

      @@user-tx2wk2es8n que estudiaste bro, cuanto llevas en la industria ?

  • @PlayerimbaGG
    @PlayerimbaGG 8 месяцев назад +1

    Bueno si soy junior me imagino que no tendrán en cuenta lo que coste de la ejecución del programa xd.

  • @angeldiaz2392
    @angeldiaz2392 8 месяцев назад

    Además q creo los problemas serían X mi PC y no x otra cosa

  • @hunabku5349
    @hunabku5349 9 месяцев назад +1

    Ahora en ensamblador...

  • @joseaburt
    @joseaburt Месяц назад

    Leetcode 😊

  • @nicolasalarcon58
    @nicolasalarcon58 6 месяцев назад

    Chat gpt?

  • @Julio26609
    @Julio26609 3 месяца назад

    Hay apps en la vida real en las que tenga una lógica tan complicada como esta??? Aun no aprendo la recursivudad... 😔

  • @OsirisRD
    @OsirisRD 5 месяцев назад +1

    Yo dique soy programador y perdi dos horas intentando resolver el tema al final me di por vencido y no pude :(

    • @jetienlaparole
      @jetienlaparole Месяц назад

      cuanto llevas en la industria y cual es tu especialidad bro

    • @OsirisRD
      @OsirisRD Месяц назад +1

      @@jetienlaparole no lo estudie, lo poco que se es de youtube e internet, javascript lavarabel y lo basico de css

    • @jetienlaparole
      @jetienlaparole Месяц назад

      @@OsirisRD Y estas en el sector IT, trabajando actualmente bro ? Gracias por tu respuesta

    • @OsirisRD
      @OsirisRD Месяц назад

      @@jetienlaparole sii, para una empresa gubernamental de mi pais, pero este es un pais pobre las personas que trabajan hay no es que tienen gran conocimiento, es mas la pega que lo que el empleado sabe

  • @mo_2212
    @mo_2212 8 месяцев назад

    Moure donde esta el paradigma de programación funcional??

  • @user-rg7mw2gm8g
    @user-rg7mw2gm8g 8 месяцев назад +1

    Resolviste con ayuda de chat-gtp después de un mes y para luego preparar el guion, así es fácil

    • @mouredev
      @mouredev  8 месяцев назад +3

      Que tú no lo entiendas (y te inventes una explicación) no quiere decir que el resto del mundo sea igual.
      Aunque te resulte increíble, hay gente que sabe programar.

  • @1992troyano
    @1992troyano 9 месяцев назад

    Video 100% a mi lista de estudio ❤ gracias Moure!

  • @snubefi
    @snubefi 8 месяцев назад +1

    osea que son basicamente ejercicios de leetcode

    • @mouredev
      @mouredev  8 месяцев назад

      No. Son ejercicios lógicos de pruebas de empresas, universidad, inventados o simplemente muy comunes. Pero es posible que alguno coincida que existe en otra plataforma al ser muy recurrente.

  • @diegoherrera462
    @diegoherrera462 7 месяцев назад +1

    time complexity infinity haha

  • @cucudrulo9471
    @cucudrulo9471 9 месяцев назад

    Qué complejidad tiene la solución con backtracking? Yo lo he hecho de forma iterativa y me sale O(n^2 * log n)

    • @danielggerson411
      @danielggerson411 8 месяцев назад

      👻👻👻👻👻👻👻👀👀👀👀👀👀👀

    • @cucudrulo9471
      @cucudrulo9471 6 месяцев назад

      @@danielggerson411 ?

  • @zzz.12M
    @zzz.12M 6 месяцев назад

    nmms ese ejercicio lo encontre en leetcode y tenia de dificultad easy, XD?

  • @relojsaturno
    @relojsaturno 9 месяцев назад

    por favor video sobre asyncio en python, no lo termino de entender.gracias

  • @sergioperez4266
    @sergioperez4266 8 месяцев назад +1

    No he visto cosa mas estupida que una prueba de acceso... menos mal que ya hace años que no me solicitan prueba en las empresas que postulo, pero vamos ya mande más de una a tomar por viento por quererme hacer una.

  • @augustob2109
    @augustob2109 8 месяцев назад

    con un DFS sale al ojo :v

  • @lordakiasantiago7562
    @lordakiasantiago7562 9 месяцев назад +1

    Guardas los datos en arreglos, recorres los arreglos con ciclo FOR y empiezas a hacer operaciones de suma con cada uno de los elementos de los arreglos y luego pones una condicional IF, si el resultado de las operaciones es equivalente al objetivo "==" entonces el resultado son los números de los arreglos en la posición "i" dentro de la condicional IF! 👍

    • @mouredev
      @mouredev  9 месяцев назад +1

      Pero así no encuentras todas las combinaciones ni evitas repetidos. Eso es algo que explicó al principio. Algo que tendría sentido si sólo nos pidiesen una única solución.

    • @alberto_garcia
      @alberto_garcia 9 месяцев назад

      @@mouredevsiempre puedes limpiar los resultados duplicados Antes de devolverlo jajaja

    • @jetienlaparole
      @jetienlaparole Месяц назад

      @@alberto_garcia cuanto llevas en la industria bro ?

  • @biancablanca5913
    @biancablanca5913 8 месяцев назад

    Cuántas veces vais a tener que hacer esto en vuestra vida profesional? Ya os lo digo yo: NINGUNA. Este tipo de pruebas técnicas de ejercicios infumables no sirven para demostrar nada, pero quedan muy bien a nivel retro-hipster mega guay nerd estilo google.

    • @mouredev
      @mouredev  8 месяцев назад +2

      El objetivo del ejercicio no es que te lo vayas a encontrar igual al pie de la letra (hasta se habla de ello en el vídeo). El objetivo es enseñarte a pensar, de la misma manera que cualquier otro problema de programación. Aprender a programar es práctica, y a programar se aprende programando.

  • @Hernan_Codes
    @Hernan_Codes 7 месяцев назад

    Sebastian, no mezcles las cosas, este hombre Milei no conoce las escrituras, lo que se celebra es que es un presi de derecha, lo cual sería una mejor calidad de vida, pero solo eso....lo demas, el ámbito espiritual lo conocemos nosotros y a orar por las autoridades es nuestro deber

  • @komurodiaz3688
    @komurodiaz3688 9 месяцев назад

    First comment

  • @user-ou1zn6mo7e
    @user-ou1zn6mo7e 8 месяцев назад

    Vergacion no entendí ni mergas y con tantas ganas de querer aprender y te salen con esto y piensas que no es para ti la programación 😫😫😫

  • @ccorteso1996
    @ccorteso1996 8 месяцев назад +2

    no entendi del backtracking pero lo pude resolver
    public static List calculo(Integer valor,Integer[] valores)
    {
    TreeSet set = new TreeSet();
    List data = new ArrayList();
    List storage = new ArrayList();
    for(Integer integer : valores) {set.add(integer);}
    Integer[] orderNumber = Arrays.asList(set.toArray()).toArray(new Integer[0]);
    //sacando el primer valor
    int primerValor = valor - orderNumber[0];
    data.add(orderNumber[0]);
    if(valor >= 0)
    {
    for(int i=1; i

  • @sebastiansaenz4658
    @sebastiansaenz4658 9 месяцев назад +1

    Primer comentario? :p

  • @R3volusky
    @R3volusky 8 месяцев назад +1

    Es sencillo 44 minutos de video 💀 ☠️

    • @mouredev
      @mouredev  8 месяцев назад

      Si quieres que lo explique paso a paso...
      La próxima vez te lo grabo sin sonido y programando como si estuviera sólo.
      ¿Has ido alguna vez al colegio para entender lo que significa que te enseñen en horas lo que luego tú sabrás hacer en minutos?

  • @jonathanperalta2239
    @jonathanperalta2239 8 месяцев назад

    Soy el único que no aguanta su voz?

    • @mouredev
      @mouredev  8 месяцев назад +1

      Yo te ayudo. Pulsa 🔇
      Seguramente lo que no pueda aguantar la gente es alguien que se molesta por la voz de una persona.

  • @RubenGZ
    @RubenGZ 5 месяцев назад +2

    """Juniors""" 🤡🤡🤡

  • @jonathancoder
    @jonathancoder 7 месяцев назад +1

    no etendi ni papa profe

  • @madera1262
    @madera1262 9 месяцев назад

    no e terminado de ver el video, me puse a hacer el ejercicio en JavaScript,
    pero el resultado me da:
    array[[1, 3, 1], [3, 1, 1], [4, 1], [1], [4, 1], [3, 1, 1]];
    me gustaría saber como llego ese 1 ahí, auxilio 😥
    let numArray = [1, 7, 3, 4, 2, 3, 1, 4, 3];
    let numero = 5;
    function comprobar (cadena, valor) {
    let nuevaCadena = [];
    let suma = []
    let resta = valor;
    if (valor

    • @mouredev
      @mouredev  9 месяцев назад

      Pues si no has terminado de ver el vídeo, y el resultado no es el correcto, quizás estaría bien revisarlo...

    • @madera1262
      @madera1262 9 месяцев назад

      @@mouredev si eso voy a hacer, haber si encuentro en que falle 😅, aunque quería intentarlo por mi cuenta antes de ver el vídeo 😊

    • @madera1262
      @madera1262 9 месяцев назад

      @@mouredev muchas gracias por tu ayuda bro👋😊

    • @mouredev
      @mouredev  9 месяцев назад

      @madera1262 está claro que lo mejor es intentarlo. Pero me refiero a que si pones aquí todo el código para que intentemos buscar el error es lo mismo que revisar el vídeo a ver si así vas aproximando tu idea.

    • @madera1262
      @madera1262 9 месяцев назад

      @@mouredev 🤔 tienes razón, si sería mejor terminar de ver el vídeo antes de preguntar, de cualquier forma lo veré mañana y también el curso de Github

  • @npnp3431
    @npnp3431 9 месяцев назад +1

    pero a ver... si es una prueba junior como no lo va a resolver un ingeniero con 13 años de experiencia?¿

    • @mouredev
      @mouredev  9 месяцев назад +2

      Creo que estás algo perdido...
      ¿Crees que los 300 vídeos de este canal son para demostrar que yo lo sé hacer? ¿Crees que un profesor da clases para demostrar que sabe de lo que habla? De esto trata la labor de compartir 😁

  • @marcelorodriguez805
    @marcelorodriguez805 5 месяцев назад

    me dio cancer cada vez que pronunciabas target como ¨TarYET¨ , es ¨TARGUET¨ la G suena suave . Fuera de eso, buena explicacion,

  • @Virvos-vd8py
    @Virvos-vd8py 5 месяцев назад

    simple eres un actor de gob, church y/o university, quemado

    • @Virvos-vd8py
      @Virvos-vd8py 5 месяцев назад

      por intervenirme la red

    • @Virvos-vd8py
      @Virvos-vd8py 5 месяцев назад

      y poner araña es poner 100 crucificadores en contra, salir viviendo de un aerosol de mata arañas.

    • @Virvos-vd8py
      @Virvos-vd8py 5 месяцев назад

      y pasa en los codigos de arrastre de pseudo programadores que consumen lsd y actuan la matrix

    • @Virvos-vd8py
      @Virvos-vd8py 5 месяцев назад

      sobrepasaron por mucho a todo ingeniero real de informatica por simple agua potable

    • @Virvos-vd8py
      @Virvos-vd8py 5 месяцев назад

      y competencia empresarial, por lo tanto solo vence el gobierno, iglesia y universidad y continua sin pecar.

  • @angeldiaz2392
    @angeldiaz2392 8 месяцев назад

    Mouredev necesito ayuda con una app en creación si me pudieras contactar para mostrarte el código me ayudarías un monton