Ed
mês passado
Para resolver essa questão, precisamos criar uma função que encontre o menor inteiro positivo que não está presente no array fornecido. Vamos pensar passo a passo: 1. Filtrar os números negativos e zeros: Como estamos interessados apenas em números positivos, podemos ignorar todos os números que são menores ou iguais a zero. 2. Usar um conjunto (Set): Podemos usar um conjunto para armazenar os números positivos que estão presentes no array. Isso nos permitirá verificar rapidamente se um número está presente. 3. Iterar a partir do 1: Começamos a verificar a partir do número 1 e continuamos até encontrar o primeiro número que não está no conjunto. Aqui está uma implementação em Java da função solicitada: ```java import java.util.HashSet; class Solution { public int solution(int[] A) { HashSet set = new HashSet<>(); // Adiciona todos os números positivos ao conjunto for (int num : A) { if (num > 0) { set.add(num); } } // Verifica o menor inteiro positivo que não está no conjunto int smallestPositive = 1; while (set.contains(smallestPositive)) { smallestPositive++; } return smallestPositive; } } ``` ### Explicação do código: - Criamos um `HashSet` para armazenar os números positivos. - Iteramos pelo array `A`, adicionando apenas os números positivos ao conjunto. - Em seguida, começamos a partir do número 1 e verificamos se ele está no conjunto. Se estiver, incrementamos e verificamos o próximo número. - Quando encontramos um número que não está no conjunto, retornamos esse número. Essa abordagem é eficiente e atende às condições do problema.