Упражнения на Java: получить индекс первого числа и последнего числа подмассива
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 программирования
disqus2code