Упражнения на Java: найдите общее количество непрерывных подмассивов в указанном массиве целых чисел
Java Basic: упражнение 202 с решением
Напишите программу на Java, чтобы найти общее количество непрерывных подмассивов в заданном массиве целых чисел, сумма которых равна заданному целому числу.
Пример:
Оригинальный массив: [4, 2, 3, 3, 7, 2, 4]
Значение k: 6 Общее количество непрерывных подмассивов: 3
Иллюстрированная презентация:
Пример решения:
Java-код:
import java.util.*;
public class Solution {
public static void main(String[] args) {
int[] nums = {4,2,3,3,7,2,4};
int k = 6;
System.out.print("Original Array: "+Arrays.toString(nums));
System.out.print("\nValue of k: "+k);
System.out.print("\nTotal number of continuous subarrays: "+max_SubArray(nums, k));
}
public static int max_SubArray(int[] nums, int k) {
int ctr = 0, sum = 0;
Map<Integer, Integer>map = new HashMap<>();
map.put(0, 1);
for (int i = 0; i < nums.length; i++) {
sum += nums[i];
if (map.containsKey(sum - k)) {
ctr = ctr + map.get(sum - k);
}
if (map.containsKey(sum)) {
map.put(sum, map.get(sum) + 1);
} else {
map.put(sum, 1);
}
}
return ctr;
}
}
Пример вывода:
Оригинальный массив: [4, 2, 3, 3, 7, 2, 4] Значение к: 6 Общее количество непрерывных подмассивов: 3
Блок - схема:
Редактор кода Java:
Компания: Google
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите Java-программу для разделения заданного массива целых чисел на заданные k непустых подмножеств, все суммы которых равны. Вернуть true, если все суммы равны, иначе вернуть false.
Далее: Напишите программу на Java, чтобы найти непрерывный подмассив заданной длины k, который имеет максимальное среднее значение для данного массива целых чисел. Показать максимальное среднее значение.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования