题目描述
题解
前缀和数组为sum[];
满足条件的区间和为:
lower <= sum[i] - sum[j] <= upper;
将上述式子变形得到:
sum[i] - upper <= sum[j] <= sum[i] - lower;
也就是说在前缀和数组sum[0…i]中,满足上述条件的sum[j]都对应着一个满足条件的区间。
1 | public int countRangeSum(int[] nums, int lower, int upper) { |
前缀和数组为sum[];
满足条件的区间和为:
lower <= sum[i] - sum[j] <= upper;
将上述式子变形得到:
sum[i] - upper <= sum[j] <= sum[i] - lower;
也就是说在前缀和数组sum[0…i]中,满足上述条件的sum[j]都对应着一个满足条件的区间。
1 | public int countRangeSum(int[] nums, int lower, int upper) { |
微信支付
支付宝