とKのサブ配列
整数配列と整数kを指定するには、その配列とkの連続するサブ配列の個数を見つける必要があります.
例1:
接頭辞和を用いて、2つの接頭辞和の差がKであるか否かを計算する2つの方法を示す.
もう1つは直接暴力の解で、実は2つはすべて暴力の解で、理解が違います.
例1:
:nums = [1,1,1], k = 2
接頭辞和を用いて、2つの接頭辞和の差がKであるか否かを計算する2つの方法を示す.
もう1つは直接暴力の解で、実は2つはすべて暴力の解で、理解が違います.
public int subarraySum(int[] nums, int k) {
//
int[] preSum = new int[nums.length + 1];
int count = 0;
for (int i = 0; i < nums.length; i++)
preSum[i + 1] = preSum[i] + nums[i];
for (int i = 0; i < nums.length; i++) {
for (int j = i + 1; j <= nums.length; j++) {
if (preSum[j] - preSum[i] == k)
count++;
}
}
return count;
}
public int subarraySum(int[] nums, int k) {
int len = nums.length;
int sum = 0;
int count = 0;
for(int i=0;i