кодесурса

Упражнения на Java: получить индекс первого числа и последнего числа подмассива

script1adsense2code
script1adsense3code

Java Basic: упражнение 139 с решением

Напишите программу на Java, чтобы получить индекс первого числа и последнего числа подмассива, где сумма чисел равна нулю из заданного массива целых чисел.

Иллюстрированная презентация:


Пример решения:

Java-код:

import java.util.*;
public class Solution {
    public static List<Integer> subarraySum(int[] nums) {
        List<Integer> temp = new ArrayList<>();
        if (nums == null || nums.length == 0) {
            return temp;
        }
        int pre_Sum = 0;
        Map<Integer, Integer> map = new HashMap<>();
        map.put(pre_Sum, -1);
        for (int i = 0; i < nums.length; i++) {
            pre_Sum += nums[i];
            if (map.containsKey(pre_Sum)) {
                temp.add(map.get(pre_Sum) + 1);
                temp.add(i);
                return temp;
            }
            map.put(pre_Sum, i);
        }
        return temp;
    }
    
public static void main(String[] args) {
		int [] nums = {1, 2, 3, -6, 5, 4};
		System.out.println("Original Array : "+Arrays.toString(nums));
		System.out.println("Index of the subarray of the said array where the sum of numbers is zero: "+subarraySum(nums));
	}		
}

Пример вывода:

 Исходный массив: [1, 2, 3, -6, 5, 4]
Индекс подмассива указанного массива, где сумма чисел равна нулю: [0, 3]

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java, чтобы найти все самое длинное слово в данном словаре.
Далее: Напишите программу на Java для объединения всех перекрывающихся интервалов из заданного набора интервалов.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code