Olá,
Você está procurando uma estrutura de dados que armazene valores exclusivos, permita inserir valores, encontrar o número total de valores e excluir valores? A escolha perfeita para isso é um Conjunto. Muitas linguagens de programação incluem uma estrutura de dados Set integrada, e JavaScript não é exceção. Vamos nos aprofundar em como os Sets funcionam.
O que está definido?
O Set é uma estrutura de dados que permite armazenar valores únicos de qualquer tipo, sejam valores primitivos ou referências de objetos. O conjunto permite inserir, excluir, atualizar e dimensionar operações com complexidade de tempo O(1). O que torna a configuração mais rápida e eficiente.
Os conjuntos são projetados para fornecer tempos de acesso rápidos. Eles geralmente são implementados de uma forma que torna a procura de itens mais rápida do que simplesmente verificar cada item um por um. A implementação típica pode ser uma tabela hash (pesquisa O(1)) ou uma árvore de pesquisa (pesquisa O(log(N))).
Pontos-chave
Métodos Básicos
Exemplos
// 1. Create a new Set and use the .add() method to add elements const mySet = new Set(); mySet.add(10); mySet.add(20); mySet.add(30); console.log(mySet); // Output: Set { 10, 20, 30 } // 2. Check if the Set has a specific element using .has() method console.log(mySet.has(20)); // Output: true console.log(mySet.has(40)); // Output: false // 3. Delete an element from the Set using .delete() method mySet.delete(20); console.log(mySet); // Output: Set { 10, 30 } // 4. Iterate over the Set using .keys() method // In Sets, .keys() and .values() do the same thing for (const key of mySet.keys()) { console.log(key); } // Output: // 10 // 30 // 5. Get the size of the Set using .size property console.log(mySet.size); // Output: 2
Exemplo de conjunto com problema de leetcode:
3. Substring mais longa sem repetição de caracteres
Dada uma string s, encontre o comprimento da substring mais longa sem repetir caracteres.
Solução
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let set = new Set(); let ans = 0; let s_index = 0; for (let i = 0; iExplicação:
A função lengthOfLongestSubstring usa uma técnica de janela deslizante com um Set para encontrar a substring mais longa sem repetir caracteres:
É isso, se você tiver alguma dúvida ou sugestão ou qualquer coisa fique à vontade para adicionar comentários.
Fontes :
MDN (Conjunto)
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3