题目描述
2145. 统计隐藏数组数目 - 力扣(LeetCode) (leetcode-cn.com)
解题思路
第一步,假设第一个数字是0
第二步,遍历数组,在假设第一个数是0的前提下,寻找数组的最大值,和最小值。
第三步,看看最大值和最小值的差与给定最大值和最小值的差做一个计算。
解题代码
class Solution {
public int numberOfArrays(int[] differences, int lower, int upper) {
long res = 0;
long min = 0;
long max = 0;
for (int i : differences) {
res += i;
min = Math.min(min, res);
max = Math.max(max, res);
}
long count = (upper - lower) - (max - min) + 1;
return count > 0 ? (int) count : 0;
}
}