Skip to content

Commit 692a8f3

Browse files
understand the prifix sum
1 parent 2257abd commit 692a8f3

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

Array/src/prefixSum.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
public class prefixSum {
2+
public static void main(String[] args) {
3+
int arr[] = { 2, 4, 6, 8, 10 };
4+
int size = arr.length;
5+
int prefixSum[] = new int[size];
6+
7+
prefixSum[0] = arr[0]; // 2
8+
for (int i = 1; i < size; i++) {
9+
prefixSum[i] = prefixSum[i - 1] + arr[i];
10+
11+
int sum = prefixSum[i];
12+
System.out.print(sum + " ");
13+
14+
}
15+
}
16+
}

LeetCode-Question/longestSubarray.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,26 @@
99

1010
public class longestSubarray {
1111
public static void main(String[] args) {
12-
int[] arr = {10, 5, 2, 7, 1, 9};
12+
int arr[] = { 10, 5, 2, 7, 1, 9 };
1313
int k = 15;
1414

15-
int maxLen = 0;
15+
int result = findTheSubArraySum(arr, k);
16+
System.out.println(result);
17+
18+
}
19+
20+
public static int findTheSubArraySum(int arr[], int k) {
21+
int max_length = 0;
22+
1623
for (int i = 0; i < arr.length; i++) {
1724
int sum = 0;
1825
for (int j = i; j < arr.length; j++) {
1926
sum += arr[j];
20-
if (sum == k) {
21-
maxLen = Math.max(maxLen, j - i + 1);
22-
}
27+
if (sum == k) {
28+
max_length = Math.max(max_length, j - i + 1); // i = 5 (first index), j = 1 (last index)
29+
} // subarray = [5,2,7,1] length= 4-1+1=4
2330
}
2431
}
25-
26-
System.out.println("Longest Subarray Length = " + maxLen);
32+
return max_length;
2733
}
2834
}

0 commit comments

Comments
 (0)