Os 3 LeetCodes que mais caem em entrevista

13.69k views7375 WordsCopy TextShare
Augusto Galego
💸 Cupom AUGUSTO20 para criar sua conta na Higlobe com 20% de desconto nos 3 primeiros meses: https:...
Video Transcript:
você pode ser contra você pode não gostar você pode achar que não faz sentido eu tenho minhas críticas mas o fato é que a indústria de software adotou como parte do processo de contratação a resolução de problemas de estruturas de dados e algoritmos essa abordagem é ainda mais comum fora do Brasil então quando você for fazer a famosa Entrevista pra gringa Você vai precisar conseguir resolver esses problemas de estrutura de dados e algoritmo Hoje a gente vai resolver três dos problemas mais populares e não vamos só resolver né Porque só te dá resolução você podia muito bem procurar no Google e estaria tudo certo né Mas não é isso que a empresa tá medindo Então o que a gente vai fazer é o seguinte a gente vai pensar a gente vai chegar na solução a gente vai explicar como que a gente chegou na solução e a gente vai entender o por que essa solução é boa o Por que essa solução é melhor do que outras soluções maior sequência consecutiva Esse é um problema de Array problemas de Array são os que mais caem são os mais populares Esse é um problema que não é par particularmente muito difícil encontrar uma solução mas a solução ótima para esse problema vai revelar o quanto que a gente conhece de fato sobre estruturas de dados algoritmos e Big o notation Calma que eu vou explicar tudo de uma maneira fácil o problema é o seguinte a gente tem um Array de números inteiros e a gente precisa encontrar o maior comprimento de sequência de números consecutivo Como assim se a gente tem esse Array aqui 100 4 200 1 3 2 a maior sequência possível de se fazer com esse Array é a sequência 1 2 3 4 então né números que estão um atrás do outro números sequenciais Eles não precisam estar em ordem dentro do Array mas você precisa encontrar qual a sequência que dá para fazer né Acho que fez sentido a gente tem aqui outro exemplo e nesse outro exemplo tem todos os números entre zero e oito uma maneira totalmente bagunçada mas é pra gente identificar que né dá para formar uma sequência de nove elementos todos entre o zero e oito a primeira vez que eu resolvi esse problema eu resolvi ele de uma maneira boa eu gosto da maneira que eu resolvi mas ela não é ótima vamos entender o que que eu pensei primeiro e depois como que a gente pode melhorar a minha solução Esse é que a gente tem vamos primeiro ver como que a gente soluciona esse problema de qualquer jeito do da primeira maneira que surgir na cabeça a primeira maneira que surge na minha cabeça é a seguinte a gente inicializa um ponteiro aqui no 11 né Você pode falar ah galera Como assim inicializar um ponteiro a gente faz um for loop a gente vai inicializar um um for loop dentro de outro for loop e checar por todos os elementos só que ao invés de representar isso como for loop dentro de for loop fica um pouco mais fácil representar como ponteiros tá vai fazer sentido então a gente pega o elemento 100 e para o elemento 100 a gente vai percorrer todos os outros elementos e ver se tem um elemento que é maior do que o 100 né ver se o 101 tá ali então percorreu não achou não achou não achou não achou não achou acabou não tem não tem mais algoritmo Passa esse aqui para cá Estamos no quatro vamos procurar pelo cinco não achou não encontrou não encontrou enfim segundo for loop passa por tudo não encontrou o número cinco em algum momento a gente vai chegar no um a gente vai passar por todos os elementos e a gente vai encontrar o dois aí novamente a gente vai passar por todos os elementos de novo e procurar o três aí a gente vai passar por todos os elementos de novo e procurar o quatro e nisso a gente vai mantendo quantos a gente encontrou essa é a primeira solução que vem na cabeça né É É a solução Força Bruta eu só percorro o aray inúmeras vezes até eu encontrar a sequência que eu quero essa solução é péssima é porque a gente não sabe onde que os elementos estão a gente tem que ficar procurando quase que aleatoriamente e a gente também não tem uma memória de Quais elementos que a gente já viu e quais que a gente não viu ainda e tem uma maneira da gente resolver isso e foi essa maneira que eu solucionei esse problema pela primeira vez o que eu preciso nesse problema é retornar o número quatro a solução para esse problema é quatro são quatro elementos em sequência então eu posso fazer o que eu quiser com esse Array né é eu posso jogar ele no lixo não importa o output da minha função é o número 4 então vamos pegar esse Array e vamos fazer uma transformação nele vamos transformar ele num Array sequencial 1 2 3 4 100 200 Por que não né Assim fica mais fácil da gente encontrar sequências ah Galego mas eu não não sabia que podia fazer isso pois é o output da função tá aqui ó saída nove a saída é um número o Array tanto faz se a gente alterou ele ou não tanto faz se a função tem Side effects ou não não importa não especificou nada aqui a gente pode fazer o que a gente quiser aí qual que é a grande sacada dessa solução a gente coloca um ponteiro aqui e a gente vai olhando se os elementos estão em sequência né a gente vai anotando qual a maior sequência possível então temos o nosso ponteiro em um aqui a maior sequência possível no momento é um elemento Aí a gente vê se o próximo elemento é um maior a gente vê se 1 mais 1 dá o próximo e dá dá dois então a gente sabe que a gente tem dois elementos em sequência vê de novo três de fato a gente sabe que a gente tem três elementos em sequência quatro a gente sabe que a gente tem tem quatro elementos em sequência é muito simples a nossa maior sequência até o momento é quatro quando a gente pular pro 100 agora começou Outra Sequência né porque o 100 não é não é o c começou Outra Sequência nessa Outra Sequência a gente tem um elemento de sequência ao invés do do 200 vamos imaginar que a gente tem aqui 101 102 tá só para para título didático aí a gente vai pular do 100 pro 101 temos dois elementos em sequência do 101 pro 102 temos três elementos em sequência e quando essa sequência acabar a gente vai comparar e a gente vai perceber que quatro é maior do que três então a maior sequência que eu encontrei nesse Array é quatro essa solução ela é muito boa tá mas o recrutador ele vai te perguntar Ah então gostei da sua solução Qual a complexidade temporal dela você pode pensar pô complexidade temporal tem a ver com a performance né tem a ver com quanto a minha solução escala com relação ao input nesse caso aqui eu percorri o Array inteiro uma vez né eu comecei do início eu fui até o fim eu não percorri o Array múltiplas vezes como eu só percorri o Array uma única vez e o array tem n elementos a minha solução ela é o n correto não tá errado tá errado porque a gente tá ignorando parte relevante dessa solução que é isso daqui essa transformação que a gente fez em quase todas as linguagens a gente vai fazer essa transformação através do método sorte ou então a gente vai implementar um algoritmo de sorte a gente vai implementar quick sor a gente vai implementar M sorte team sor enfim tanto faz porque o sorte que a gente vai fazer a não ser que a gente faça um Bubble sort né um sort muito não convencional Mas enfim a maioria dos algoritmos de Rod ordenação vai ter complexidade o de n log n então a complexidade total do nosso algoritmo não é o de n ela é o de n log n ah Galego Mas como que eu ia saber disso bom você tem que saber você tem que saber de cabeça que o sor não é odn tá ordenar um Array você não consegue ordenar ele só passando ele do início ao fim varrendo uma única vez não tem como pode ser que na entrevista você não soubesse especificamente que é od n log n só que você precisa saber que essa transformação ela não é gratuita em termos computacionais que a a gente ordenar um Array não é de graça e embora essa solução seja muito boa eu gosto muito dessa solução tem uma melhor Vamos esquecer tudo isso daqui tem uma solução melhor antes da gente ver a solução ótima para esse problema só deixa eu fazer uma pequena pausa para falar da parceira desse vídeo a ideia desse vídeo aqui é justamente de preparar para entrevistas de dsa de estruturas de dados e algoritmos E como eu falei anteriormente Essas entrevistas elas são particularmente comuns fora do Brasil né na gringa nos Estados Unidos em outros países também né mas enfim e eu recebo muitas mensagens de vocês eu sei que boa parte de quem me acompanha tá aqui no Brasil e trabalha para cá para fora do Brasil e também muitos de vocês estão entrando agora para esse Mercado Global né muita gente tá fazendo essa transição de trabalhar para uma empresa brasileira para morar no Brasil e trabalhar para uma empresa de Fora em algum momento essa pessoa que tá aqui ela vai precisar receber os dólares dela E aí que entra a parceira do nosso vídeo A High Globe porque é o seguinte a empresa aqui dos Estados Unidos ela vai te pagar em dólar certo essa é a ideia você quer trabalhar para fora para ganhar em dólar O problema é que para enviar esses dólares para o Brasil a maioria das soluções a maioria das empresas vai te cobrar 1 a 6% e assim eu já trabalhei para fora do país eu sei como funciona né eu era PJ no Brasil eu tinha um contratante de fora eu sei que o seu contratante ele vai te pagar em dólares e ele não pode depositar em em dólares numa conta no Brasil ele precisa te depositar numa Conta nos Estados Unidos em dólar dessa conta nos Estados Unidos em dólar você precisa que essa conta Mande os seus dólares para uma conta PJ no Brasil e aqui tá a maioria das empresas que fazem serviço vão te cobrar o 1 a 6% que eu falei mas a High Globe é diferente a High Globe é melhor e eu vou te provar que a High Globe é melhor no momento de receber o seu dinheiro tem três coisas que são importantes essas três coisas são a segurança a taxa efetiva que você vai pagar né o custo total desse recebimento e a velocidade Você concorda comigo ou não na questão de segurança a High Globe é a única plataforma que oferece uma garantia anti perdas de até 0. 000 nas suas transferências da sua conta High glob pra sua conta local sobre o custo que você vai pagar né Vamos mudar aqui de taxa de custo para fazer mais sentido você vai pagar o menor custo do mercado 0. 5% pode olhar em todos os concorrentes Esse é o menor custo do mercado e fica melhor ainda se você entrar lá na reg Globe criar uma conta agora e usar o meu cupom Augusto 20 você vai ter 20% de desconto nesse custo nos três primeiros meses fica menor ainda menor do que o menor do mercado Ah isso aqui não tem pegadinha tá 0.
5 é o custo mesmo não tem nenhuma taxa a mais não tem nenhum imposto sobre a transação a mais não tem mais nada é só o 0. 5 e sim é o menor do mercado Esse é o custo de transferir da sua conta em dólar da High Globe para a sua conta no Brasil em Reais só isso mais mais mais supondo que você vai para cá ou você vai para cá ou você vai dar um pulinho aqui né E você quer gastar esse seu dinheiro lá em dólar pô não faz sentido né você trazer lá dos Estados Unidos pro Brasil para depois comprar dólar no Brasil para levar para lá de novo para gastar lá qual o sentido disso nenhum então Você também tem outra possibilidade aqui da sua conta da High Globe você consegue criar um cartão virtual pré-pago que sim você pode usar no Brasil também você pode usar internacionalmente e você pode gastar os seus dólares lá nos Estados Unidos e aí você não vai precisar fazer câmbio você não vai precisar ficar comprando dinheiro você já tem os dólares os dólares são seus você pode gastar lá e para usar o cartão nos Estados Unidos o custo é zero não tem custo não tem anuidade não tem nada você recebe seus dólares lá você gasta em dólar lá com seu cartão virtual se você quiser e acabou fim de papo muito bom né enfim você pode trazer o seu dinheiro a um custo baixíssimo você pode gastar lá com custo Zero Não dá para ser melhor né E agora vamos pro último ponto ponto de velocidade eu sei você sabe todo mundo sabe que na maioria das plataformas da maioria das maneiras de receber dinheiro de fora do país é meio lento é meio burocrático não funciona em feriado só funciona em área bancário mas a gente tem uma vantagem a nossa parceira aqui High Globe ela é uma empresa de tecnologia que entende de tecnologia e que usa da tecnologia para permitir que você saque o seu dinheiro sempre que você quiser sem burocracia as transferências aqui você pode fazer 24 horas por dia sete dias na semana instantaneamente não precisa esperar horário bancário não não tem este de feriado nada dinheiro é seu você pode transferir ele na hora aí é é só para deixar claro também né Você pode sacar esse dinheiro via pixa a qualquer momento né lá dentro da High Globe você vai fazer essa conversão instantânea né em dólar para real com custo de 0.
Copyright © 2025. Made with ♥ in London by YTScribe.com