Skip to content

Commit 11d7341

Browse files
Subarray Sum Equal K
1 parent c8f0e9c commit 11d7341

File tree

2 files changed

+72
-0
lines changed

2 files changed

+72
-0
lines changed
+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
2+
/*
3+
Subarray Sum Equals K
4+
https://leetcode.com/problems/subarray-sum-equals-k/
5+
6+
Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.
7+
8+
Example 1:
9+
Input:nums = [1,1,1], k = 2
10+
Output: 2
11+
Note:
12+
The length of the array is in range [1, 20,000].
13+
The range of numbers in the array is [-1000, 1000] and the range of the integer k is [-1e7, 1e7].
14+
*/
15+
16+
17+
/**
18+
* @param {number[]} nums
19+
* @param {number} k
20+
* @return {number}
21+
*/
22+
23+
// Solution 1
24+
var subarraySum = function(nums, k) {
25+
var ret = 0;
26+
for(var i = 0; i < nums.length; i++) {
27+
var count = 0;
28+
for(var j = i; j < nums.length; j++) {
29+
count += nums[j];
30+
if(count === k)
31+
ret++;
32+
}
33+
}
34+
35+
return ret;
36+
};
37+
38+
39+
// Solution 2
40+
var subarraySum2 = function(nums, k) {
41+
if(nums.length === 0)
42+
return 0;
43+
44+
var sums = [];
45+
sums[0] = 0;
46+
var count = 0;
47+
for(var i = 0; i < nums.length; i++) {
48+
count += nums[i];
49+
sums[i + 1] = count;
50+
}
51+
52+
var ret = 0;
53+
for(var i = 0; i < sums.length - 1; i++) {
54+
for(var j = i + 1; j < sums.length; j++) {
55+
if(sums[j] - sums[i] === k)
56+
ret++;
57+
}
58+
}
59+
60+
return ret;
61+
};
62+
63+
var main = function() {
64+
console.log(subarraySum([1,1,1], 2));
65+
console.log(subarraySum([1], 0));
66+
console.log(subarraySum([0], 0));
67+
console.log(subarraySum([0,0,0,0,0], 0));
68+
}
69+
70+
module.exports.main = main;
71+

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Solutions of algorithm problems using Javascript
1212
| [Regular Expression Matching ](/LeetcodeProblems/Regular_Expression_Matching.js) | Hard | https://leetcode.com/problems/regular-expression-matching/ |
1313
| [NQueens ](/LeetcodeProblems/NQueens.js) | Hard | https://leetcode.com/problems/n-queens/ |
1414
| [merge k sorted lists ](/LeetcodeProblems/merge_k_sorted_lists.js) | Hard | https://leetcode.com/problems/merge-k-sorted-lists/ |
15+
| [Subarray Sum Equals K ](/LeetcodeProblems/Subarray_Sum_Equals_K.js) | Medium | https://leetcode.com/problems/subarray-sum-equals-k/ |
1516
| [3Sum ](/LeetcodeProblems/3Sum.js) | Medium | https://leetcode.com/problems/3sum/ |
1617
| [Add Two Numbers ](/LeetcodeProblems/Add_Two_Numbers.js) | Medium | https://leetcode.com/problems/add-two-numbers/ |
1718
| [Clone Graph ](/LeetcodeProblems/Clone_Graph.js) | Medium | https://leetcode.com/problems/clone-graph/ |

0 commit comments

Comments
 (0)