кодесурса

Упражнения на Java: найдите общее количество непрерывных подмассивов в указанном массиве целых чисел

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code