J
Java | LeetCode
@easy_java_task6.8K подп.
491просмотров
7.3%от подписчиков
20 марта 2026 г.
statsScore: 540
Задача: 912. Sort an Array Сложность: medium Задав массив целых чисел nums, отсортируйте массив по возрастанию и верните его. Вы должны решить задачу без использования встроенных функций за время O(nlog(n)) и с минимально возможной пространственной сложностью. Пример: Input: nums = [5,2,3,1] Output: [1,2,3,5] 👨‍💻 Алгоритм: 1⃣Используем алгоритм "Сортировка слиянием" (Merge Sort), который обеспечивает время выполнения O(n log n) и минимально возможную пространственную сложность для стабильного сортировочного алгоритма. 2⃣Разделить массив на две половины. Рекурсивно отсортировать каждую половину. 3⃣Слить две отсортированные половины. 😎 Решение: import java.util.Arrays; public class Main { public static void mergeSort(int[] nums) { if (nums.length > 1) { int mid = nums.length / 2; int[] left_half = Arrays.copyOfRange(nums, 0, mid); int[] right_half = Arrays.copyOfRange(nums, mid, nums.length); mergeSort(left_half); mergeSort(right_half); int i = 0, j = 0, k = 0; while (i < left_half.length && j < right_half.length) { if (left_half[i] < right_half[j]) { nums[k++] = left_half[i++]; } else { nums[k++] = right_half[j++]; } } while (i < left_half.length) { nums[k++] = left_half[i++]; } while (j < right_half.length) { nums[k++] = right_half[j++]; } } } } Ставь 👍 и забирай 📚 Базу знаний
491
просмотров
1598
символов
Да
эмодзи
Нет
медиа

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

Все посты канала →
Задача: 912. Sort an Array Сложность: medium Задав массив це — @easy_java_task | PostSniper