C
C# | LeetCode
@easy_c_sharp_task3.4K подп.
262просмотров
7.8%от подписчиков
22 марта 2026 г.
statsScore: 288
Задача: 645. Set Mismatch Сложность: easy У вас есть набор целых чисел s, который изначально содержит все числа от 1 до n. К сожалению, из-за какой-то ошибки одно из чисел в s продублировалось в другое число в наборе, что привело к повторению одного числа и потере другого. Вам дан целочисленный массив nums, представляющий состояние данных в этом наборе после ошибки. Найдите число, которое встречается дважды, и число, которое отсутствует, и верните их в виде массива. Пример: Input: nums = [1,2,2,4] Output: [2,3] 👨‍💻 Алгоритм: 1⃣Пройдите по массиву, используя набор для отслеживания чисел, чтобы определить дублированное число. 2⃣Определите отсутствующее число, используя сумму чисел от 1 до n и текущую сумму массива. 3⃣Верните дублированное и отсутствующее числа в виде массива. 😎 Решение: public class Solution { public int[] FindErrorNums(int[] nums) { int n = nums.Length; HashSet<int> numSet = new HashSet<int>(); int duplicate = -1; foreach (int num in nums) { if (!numSet.Add(num)) { duplicate = num; } } int missing = (n * (n + 1)) / 2 - numSet.Sum(); return new int[] { duplicate, missing }; } } Ставь 👍 и забирай 📚 Базу знаний
262
просмотров
1253
символов
Да
эмодзи
Нет
медиа

Другие посты @easy_c_sharp_task

Все посты канала →
Задача: 645. Set Mismatch Сложность: easy У вас есть набор ц — @easy_c_sharp_task | PostSniper