Skip to content

Commit 1419502

Browse files
authored
feat: add ts solution to lc problem: No.0533 (doocs#3078)
1 parent c2e8a53 commit 1419502

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

solution/0500-0599/0523.Continuous Subarray Sum/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,27 @@ func checkSubarraySum(nums []int, k int) bool {
156156
}
157157
```
158158

159+
#### TypeScript
160+
161+
```ts
162+
function checkSubarraySum(nums: number[], k: number): boolean {
163+
const n = nums.length;
164+
let prefixSum = 0;
165+
const map = new Map([[0, 0]]);
166+
167+
for (let i = 0; i < n; i++) {
168+
prefixSum += nums[i];
169+
const remainder = prefixSum % k;
170+
171+
if (!map.has(remainder)) {
172+
map.set(remainder, i + 1);
173+
} else if (i - map.get(remainder)! > 0) return true;
174+
}
175+
176+
return false;
177+
}
178+
```
179+
159180
<!-- tabs:end -->
160181

161182
<!-- solution:end -->

solution/0500-0599/0523.Continuous Subarray Sum/README_EN.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,27 @@ func checkSubarraySum(nums []int, k int) bool {
160160
}
161161
```
162162

163+
#### TypeScript
164+
165+
```ts
166+
function checkSubarraySum(nums: number[], k: number): boolean {
167+
const n = nums.length;
168+
let prefixSum = 0;
169+
const map = new Map([[0, 0]]);
170+
171+
for (let i = 0; i < n; i++) {
172+
prefixSum += nums[i];
173+
const remainder = prefixSum % k;
174+
175+
if (!map.has(remainder)) {
176+
map.set(remainder, i + 1);
177+
} else if (i - map.get(remainder)! > 0) return true;
178+
}
179+
180+
return false;
181+
}
182+
```
183+
163184
<!-- tabs:end -->
164185

165186
<!-- solution:end -->
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function checkSubarraySum(nums: number[], k: number): boolean {
2+
const n = nums.length;
3+
let prefixSum = 0;
4+
const map = new Map([[0, 0]]);
5+
6+
for (let i = 0; i < n; i++) {
7+
prefixSum += nums[i];
8+
const remainder = prefixSum % k;
9+
10+
if (!map.has(remainder)) {
11+
map.set(remainder, i + 1);
12+
} else if (i - map.get(remainder)! > 0) return true;
13+
}
14+
15+
return false;
16+
}

0 commit comments

Comments
 (0)