Essa questão caiu no meu Loop da amazon no meio do ano passado, e eu tinha assistido um dia antes a resolução de um youtuber chamado NeetCode e acabei conseguindo fazer a questão, mas eu tenho certeza que essa questão mostrou para o meu entrevistador que eu só copiei a solução de alguém... Inclusive ele reclamou muito que usei r para rows e c para columns e disse que meu codigo nao estaria read-to-production porque eu não dava nomes claros para as minhas variaveis (em um live coding de 30 minutos). Nesse mesmo loop tive uma entrevista que foi para fazer o famoso LRU Cache do leetcode, com um indiano em ingles (apesar de eu falar ingles, o nervosismos de estar num loop de uma bigtech + um problema super Hard me fudeu). As vezes eu acho que esses problemas de leetcode não mostram nada. Não adianta eu saber resolver tudo em O(n) ou log(n) e no trabalho eu ser um baita de um cuzão e não aceitar um review honesto no meu PR. Concordo que existem problemas que mostram se voce sabe usar um two pointer ou um hash ou uma heap e isso é util... mas sinceramente, quando é que tu vai implementar uma Aho-Corasick?? Em qual ambiente de trabalho de verdade vc vai ter 30 minutos para resolver um problema em tempo e memoria otima e isso vai fazer toda a diferença? Cara, se você está nesse ambiente de trabalho e consegue, eu tenho certeza que você não deveria estar aplicando pra SDE II e ganhando "só" 200k ano. Se você resolve um problema complexo em tempo otimo em 30 minutos você tem que tá ganhando milhão.
Acho que não é muito sobre usar as coisas, mas alguém que se deu o trabalho de aprender Aho pra resolver problemas não é qualquer pessoa, convenhamos. Sobre o salário, já é bem maior do que a maioria da área kk mas a Amazon é conhecida por pagar menos mesmo.
É tipo aprender bhaskara, você provavelmente n vai usar, mas ajuda. Adesenvolver a logica matemática, no caso desses leetcode, mostra q vc entende de logica de programação, não é só majs um que cospe codigos que qualquer IA saberia fazer. Mas concordo que eles exageram nesses testes
@@YuriXbrOficial na real bhaskara não ajuda a desenvolver lógica matemática, justamente por ser contra intuitiva, o que ajuda a desenvolver a lógica são operações que seu cerebro consegue entender como montar a equação para descobrir o resultado ou consegue dissecar a equação e explicar o motivo de cada operação
@@avloggerfinger9050 Eu estou estudando pro ENEM pra passar em medicina, o motivo de eu ter parado é simplesmente por que eu não faço a mínima ideia de como ingressar nessa área do mercado de trabalho e era bem inseguro sobre minhas habilidades. Basicamente eu não sabia o que eu precisava saber pra conseguir trabalhar eu apenas estudava um monte de coisa.
@@tadashi1870isso é bem ruim, mas esse seu problema tbm é aplicavel a medicina, especialmente se teu background educacional foi ruim, como o meu foi 😂
@tadashi1870 Aata, é bem confuso mesmo. Ainda mais com um monte de gente vendendo cursinho prometendo isso e aquilo, sksksk. Bom, desejo-te sucesso no Enem, hehe. Ps: Vou fazer também. ;)
Cara, tua solução com a divisão por intereiro foi genial. E realmente, para um livecode olhando para a performance, eu diria que, a depender do tempo para resolução, poderia até ser possível e tranquilo. Algo como 2H, 2h:30min, acho que daria para fazer. Isso se o sujeito já tivesse um certo (pensamento elevado) na resolução de problemas do tipo.
Sugestão que não sei se já faz no seu curso mas seria legal qd tiver um problema fazer primeiro o brute force que é mais "simples" de entender e depois num outro vídeo ou algo do tipo mostrar a solução otimizada.
Eu não achei nada de errado nesse problema as vezes eles só utilizam uma estrutura (neste caso, a estrutura do sudoku) para explicar mais facilmente um problema, não quer dizer que todas as regras do sudoku deverão ser levadas em consideração. Acho que, inclusive, eles fizeram essas alterações para facilitar na hora de resolver o código talvez os entrevistadores faziam essa pergunta, os candidatos resolviam em rapidamente para que depois pudesse ter o 'follow-up question' a respeito das possibilidades de resolução do sudoku
2:15 é um exemplo ruim já que tem dois oito no mesmo bloco 3x3 se existe a dúvida entre dois números é pq não foi resolvido o suficiente ou está errado
Tenho quase certeza, mas quando temos inner loops e afins, mas a ordem de grandeza dele é constante (no caso do sudoku 9x9) a complexidade continua constante O(1) porque não há variação na entrada
Eu lembro que fiz um exercício parecido com esse que caiu numa prova do primeiro semestre de ciência da computação, mas se não me engano o o sudoku já vinha completo e precisava avaliar se a solução era válida ou não usando a estrutura de dados conjunto kkkkk
E so implementar 4 funcoes: List extractRow(int pos) -> extrai os elementos da linha em uma lista List extractCol(int pos) -> extrai os elementos da coluna em uma lista List extractCube(int pos) -> extrai os elementos do cubo em uma lista bool validateNumbers(List values) -> valida se tem elementos nao pontos repetidos Entao basta chamar como um template de 4 passos: for(i, 0..9) if(!validateNumbers(extractRow(i))) return false for(i, 0..9) if(!validateNumbers(extractCol(i))) return false for(i, 0..9) if(!validateNumbers(extractCube(i))) return false return true
Acho essa solução usando só um hash mais simples, a mudança seria isso: var rowKey = board[i][j] + "found in row " + i; var colKey = board[i][j] + "found in col " + j; var square = board[i][j] + "found in square " + i / 3 + "-" + j / 3;
Adoro o algoritmo, atualmente comecei a jogar sudoku com minha namorada e comecei a ver algoritmos que resolvem sudoku, logo em seguida bem esse vídeo pra mim skskss
No proximo vídeo (quinta feira) eu falo dos detalhes, mas a partir de quinta eu vou atualizar a descrição de todos meus vídeos pra incluir o novo link, e anunciar também no linkedin e twitter :)
Mal escrito mesmo, o exercício é simples e o enunciado é o maior desafio. Mas eu prefiro um Array continuo em que cada célula é i+j*8 sendo que i vai de 0 a 8 e j vai de 0 a 8 😂 pra caixa é a mesma solução.
Essa questão caiu no meu Loop da amazon no meio do ano passado, e eu tinha assistido um dia antes a resolução de um youtuber chamado NeetCode e acabei conseguindo fazer a questão, mas eu tenho certeza que essa questão mostrou para o meu entrevistador que eu só copiei a solução de alguém... Inclusive ele reclamou muito que usei r para rows e c para columns e disse que meu codigo nao estaria read-to-production porque eu não dava nomes claros para as minhas variaveis (em um live coding de 30 minutos). Nesse mesmo loop tive uma entrevista que foi para fazer o famoso LRU Cache do leetcode, com um indiano em ingles (apesar de eu falar ingles, o nervosismos de estar num loop de uma bigtech + um problema super Hard me fudeu). As vezes eu acho que esses problemas de leetcode não mostram nada. Não adianta eu saber resolver tudo em O(n) ou log(n) e no trabalho eu ser um baita de um cuzão e não aceitar um review honesto no meu PR. Concordo que existem problemas que mostram se voce sabe usar um two pointer ou um hash ou uma heap e isso é util... mas sinceramente, quando é que tu vai implementar uma Aho-Corasick?? Em qual ambiente de trabalho de verdade vc vai ter 30 minutos para resolver um problema em tempo e memoria otima e isso vai fazer toda a diferença? Cara, se você está nesse ambiente de trabalho e consegue, eu tenho certeza que você não deveria estar aplicando pra SDE II e ganhando "só" 200k ano. Se você resolve um problema complexo em tempo otimo em 30 minutos você tem que tá ganhando milhão.
Acho que não é muito sobre usar as coisas, mas alguém que se deu o trabalho de aprender Aho pra resolver problemas não é qualquer pessoa, convenhamos.
Sobre o salário, já é bem maior do que a maioria da área kk mas a Amazon é conhecida por pagar menos mesmo.
Implicar com r e c foi meio sem noção mesmo
É tipo aprender bhaskara, você provavelmente n vai usar, mas ajuda. Adesenvolver a logica matemática, no caso desses leetcode, mostra q vc entende de logica de programação, não é só majs um que cospe codigos que qualquer IA saberia fazer.
Mas concordo que eles exageram nesses testes
@@YuriXbrOficial na real bhaskara não ajuda a desenvolver lógica matemática, justamente por ser contra intuitiva, o que ajuda a desenvolver a lógica são operações que seu cerebro consegue entender como montar a equação para descobrir o resultado ou consegue dissecar a equação e explicar o motivo de cada operação
eu estudava programação, mas parei e decidi fazer outra coisa mas ainda gosto de ver seus vídeos, são muito bons e explicativos.
To na mesma kkkkkk
Fiquei curioso para saber o motivo da parada e o que fazes agora. :D
@@avloggerfinger9050 Eu estou estudando pro ENEM pra passar em medicina, o motivo de eu ter parado é simplesmente por que eu não faço a mínima ideia de como ingressar nessa área do mercado de trabalho e era bem inseguro sobre minhas habilidades. Basicamente eu não sabia o que eu precisava saber pra conseguir trabalhar eu apenas estudava um monte de coisa.
@@tadashi1870isso é bem ruim, mas esse seu problema tbm é aplicavel a medicina, especialmente se teu background educacional foi ruim, como o meu foi 😂
@tadashi1870 Aata, é bem confuso mesmo. Ainda mais com um monte de gente vendendo cursinho prometendo isso e aquilo, sksksk. Bom, desejo-te sucesso no Enem, hehe.
Ps: Vou fazer também. ;)
Cara, tua solução com a divisão por intereiro foi genial. E realmente, para um livecode olhando para a performance, eu diria que, a depender do tempo para resolução, poderia até ser possível e tranquilo. Algo como 2H, 2h:30min, acho que daria para fazer. Isso se o sujeito já tivesse um certo (pensamento elevado) na resolução de problemas do tipo.
Sugestão que não sei se já faz no seu curso mas seria legal qd tiver um problema fazer primeiro o brute force que é mais "simples" de entender e depois num outro vídeo ou algo do tipo mostrar a solução otimizada.
Eu não achei nada de errado nesse problema
as vezes eles só utilizam uma estrutura (neste caso, a estrutura do sudoku) para explicar mais facilmente um problema, não quer dizer que todas as regras do sudoku deverão ser levadas em consideração. Acho que, inclusive, eles fizeram essas alterações para facilitar na hora de resolver o código
talvez os entrevistadores faziam essa pergunta, os candidatos resolviam em rapidamente para que depois pudesse ter o 'follow-up question' a respeito das possibilidades de resolução do sudoku
obs: vi o video inteiro agora e fiz uma solução "menos elegante" e mais naive, porém com tempo ótimo também (0ms, beats 100%) e espaço beats 35
Como vcs pesquisam no leetcode pra achar os tipos de questões que mais caem em entrevistas?
X (Tweeter)
Vídeo denso!! muito conteúdo proveitoso; essa questão é hard.
não seria mat[2][7] para acessar o item 6 no 5:25?
2:15 é um exemplo ruim já que tem dois oito no mesmo bloco 3x3 se existe a dúvida entre dois números é pq não foi resolvido o suficiente ou está errado
Quem diria que programar um clone de minecraft iria me ajudar a resolver uma questão da Amazon.
Kk
Trabalhar com voxel é muito viciante
@@jarusca3933vox o que? Nuca nem vi
Eu como gerente de TI acho muito boa essa questão, pois separa desenvolvedores que fazem o que é esperado dos que fazem o que querem.
Já fiz entrevista pra Amazon e caiu 2 questões sobre arrays bidimensionais, na época achei hard pra caralho kkk hoje vejo que não era grandes coisas
Isso é o estado da arte do LeetCode
Faz um resolvendo o leetcode do triangulo de pascal. Parabens pelo conteúdo!
nice, ansioso pelas novidades no curso!
tua didática é sinistra
Muito bom o vídeo. Creio que no minuto 5:30, para acessar o valor, seria mat[2][7], visto que o array começa na posição 0.
Tenho quase certeza, mas quando temos inner loops e afins, mas a ordem de grandeza dele é constante (no caso do sudoku 9x9) a complexidade continua constante O(1) porque não há variação na entrada
Passou dos 10 minutos, não dá pra entender mais nada kkkkkk
Eu lembro que fiz um exercício parecido com esse que caiu numa prova do primeiro semestre de ciência da computação, mas se não me engano o o sudoku já vinha completo e precisava avaliar se a solução era válida ou não usando a estrutura de dados conjunto kkkkk
E so implementar 4 funcoes:
List extractRow(int pos) -> extrai os elementos da linha em uma lista
List extractCol(int pos) -> extrai os elementos da coluna em uma lista
List extractCube(int pos) -> extrai os elementos do cubo em uma lista
bool validateNumbers(List values) -> valida se tem elementos nao pontos repetidos
Entao basta chamar como um template de 4 passos:
for(i, 0..9) if(!validateNumbers(extractRow(i))) return false
for(i, 0..9) if(!validateNumbers(extractCol(i))) return false
for(i, 0..9) if(!validateNumbers(extractCube(i))) return false
return true
Video Sensacional !
Uma dúvida que app é esse usado para desenhar?
Acho essa solução usando só um hash mais simples, a mudança seria isso:
var rowKey = board[i][j] + "found in row " + i;
var colKey = board[i][j] + "found in col " + j;
var square = board[i][j] + "found in square " + i / 3 + "-" + j / 3;
Adoro o algoritmo, atualmente comecei a jogar sudoku com minha namorada e comecei a ver algoritmos que resolvem sudoku, logo em seguida bem esse vídeo pra mim skskss
Boa tarde, Galego. Qual vai ser a nova plataforma do seu curso? E por onde posso ficar sabendo do lançamento na hora? Estou interessado
No proximo vídeo (quinta feira) eu falo dos detalhes, mas a partir de quinta eu vou atualizar a descrição de todos meus vídeos pra incluir o novo link, e anunciar também no linkedin e twitter :)
@GutoGalego Tranquilidade, até quinta então
Convenhamos, ainda bem que não interessa se é resolvivel kkkk
Meto aquele for encadeado com índice i, o segundo com j de Java e no final vou errar tudo.
Hahahahah
Cara achei esse exercício bem fácil, fiz ele ano passado no primeiro semestre da facul, caiu em um contest entre da faculdade
mas uma matrix nao começa com 0? desde a horizontal e vertical? 5:27
Opa galego, quem tinha o curso na udemy, como vai ser o acesso na plataforma nova?
Vai ter um formulariozinho pra preencher com o e-mail que vc usou na Udemy e eu dou acesso gratuito :)
Beijo pra vó do Galego. 🤗
Mano, já tive que fazer um jogo que fazia Sudoku pra prova da faculdade, vou te falar, como queimei neurônio pra resolver esse troço.
Mestre galego, o meu acesso é pelo udemy business, como eu fico ?😢
Augusto Já saiu a nova plataforma onde vai ser o curso?
Quinta feira sai
Oi, Qual video que você fala "mal" do continue? queria ver quais são as alternativas
Fico imaginando que deve ter ficando confuso pra iniciantes vc ter usado as palavrase set (conjunto) e sete (numero) ao mesmo tempo nas mesmas frases
Mal escrito mesmo, o exercício é simples e o enunciado é o maior desafio. Mas eu prefiro um Array continuo em que cada célula é i+j*8 sendo que i vai de 0 a 8 e j vai de 0 a 8 😂 pra caixa é a mesma solução.
Mestre, essa versão nova do curso já vai vir com as melhorias que vc tinha dito uma vez no twitter?
@@Blaster938 isso, ao longo da primeira semana vou liberando aulas do modulo bonus!
Alguém sabe o site que ele usa para ver essas questões?
O que acontece com quem ja comprou?
@@renanalves5687 tem um formlariozinho, vai receber acesso na nova plataforma gratuitamente, e tambem continuar com o acesso na udemy
acho um problema classico para logica de programação. Não acho dificil, mas é chatinho
Vou começar a fazer essa questão. Tentarei fazer em 10 minutos. Se eu não conseguir, voltarei no comentário para avisar.
Conseguiu ?
Ja passou 23
ele não voltou, então conseguiu resolver em 10 minutos
Conseguiu um casset*
se for o preço da udemy(30+-) eu compro sim
nao diminuindo o valor do curso que ele terá, eu que sou pobre mesmo
na Udemy nunca foi 30
Vou começar a fazer essa questão 36.
tmj galegão :)
até quinta-feira
box[(r,//3 c//3)] eu nunca tinha visto esse tipo de acesso a dicts, qual a lógica?
A chave é uma tupla, é só isso. Ao invés da chave ser um int unico, ela é tipo (0,2)
@GutoGalego entendi moral, vlw
ainda bem que sou front kkk Deus me livre disso ai
Sudoku ❤
"sou adepto do go-horse no leetcode"
SIM mano