Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Muita gente não dá bola, mas ordenar os caracteres de duas strings ou arrays pode ser uma estratégia simples e eficiente para verificar se uma é uma permutação da outra.
Por exemplo, no problema clássico de verificar se uma string contém uma permutação de outra, ordenar os caracteres de ambos e comparar pode ser uma solução rápida. Se os arrays ordenados forem iguais, é porque um é uma permutação do outro.
Na prática, usar esse truque na hora de validar substrings ou verificar combinações em Java funciona bem, desde que o tamanho das strings não seja gigantesco. Para problemas de alta performance, talvez seja melhor usar mapas de frequência, mas para a maioria dos casos, ordenar resolve lindamente.
O que vocês acham? Essa abordagem é suficiente ou é melhor ir direto para contagem de frequência com map as? O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Carregando comentários...