Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6900c10

Browse files
committed
feat: update solutions to lc problem: No.0560,0695
No.0560.Subarray Sum Equals K No.0695.Max Area of Island
1 parent c356b2b commit 6900c10

File tree

10 files changed

+230
-139
lines changed

10 files changed

+230
-139
lines changed

‎solution/0500-0599/0560.Subarray Sum Equals K/README.md‎

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,37 @@
3434
<!-- 这里可写当前语言的特殊实现逻辑 -->
3535

3636
```python
37-
37+
class Solution:
38+
def subarraySum(self, nums: List[int], k: int) -> int:
39+
mp = collections.Counter()
40+
mp[0] = 1
41+
res = s = 0
42+
for num in nums:
43+
s += num
44+
res += mp[s - k]
45+
mp[s] += 1
46+
return res
3847
```
3948

4049
### **Java**
4150

4251
<!-- 这里可写当前语言的特殊实现逻辑 -->
4352

4453
```java
45-
54+
class Solution {
55+
public int subarraySum(int[] nums, int k) {
56+
Map<Integer, Integer> map = new HashMap<>();
57+
map.put(0, 1);
58+
int res = 0;
59+
int s = 0;
60+
for (int num : nums) {
61+
s += num;
62+
res += map.getOrDefault(s - k, 0);
63+
map.put(s, map.getOrDefault(s, 0) + 1);
64+
}
65+
return res;
66+
}
67+
}
4668
```
4769

4870
### **TypeScript**
@@ -61,6 +83,42 @@ function subarraySum(nums: number[], k: number): number {
6183
};
6284
```
6385

86+
### **C++**
87+
88+
```cpp
89+
class Solution {
90+
public:
91+
int subarraySum(vector<int>& nums, int k) {
92+
unordered_map<int, int> mp;
93+
mp[0] = 1;
94+
int res = 0, s = 0;
95+
for (int num : nums)
96+
{
97+
s += num;
98+
res += mp[s - k];
99+
++mp[s];
100+
}
101+
return res;
102+
}
103+
};
104+
```
105+
106+
### **Go**
107+
108+
```go
109+
func subarraySum(nums []int, k int) int {
110+
mp := make(map[int]int)
111+
mp[0] = 1
112+
res, s := 0, 0
113+
for _, num := range nums {
114+
s += num
115+
res += mp[s-k]
116+
mp[s]++
117+
}
118+
return res
119+
}
120+
```
121+
64122
### **...**
65123

66124
```

‎solution/0500-0599/0560.Subarray Sum Equals K/README_EN.md‎

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,35 @@
3131
### **Python3**
3232

3333
```python
34-
34+
class Solution:
35+
def subarraySum(self, nums: List[int], k: int) -> int:
36+
mp = collections.Counter()
37+
mp[0] = 1
38+
res = s = 0
39+
for num in nums:
40+
s += num
41+
res += mp[s - k]
42+
mp[s] += 1
43+
return res
3544
```
3645

3746
### **Java**
3847

3948
```java
40-
49+
class Solution {
50+
public int subarraySum(int[] nums, int k) {
51+
Map<Integer, Integer> map = new HashMap<>();
52+
map.put(0, 1);
53+
int res = 0;
54+
int s = 0;
55+
for (int num : nums) {
56+
s += num;
57+
res += map.getOrDefault(s - k, 0);
58+
map.put(s, map.getOrDefault(s, 0) + 1);
59+
}
60+
return res;
61+
}
62+
}
4163
```
4264

4365
### **TypeScript**
@@ -56,6 +78,42 @@ function subarraySum(nums: number[], k: number): number {
5678
};
5779
```
5880

81+
### **C++**
82+
83+
```cpp
84+
class Solution {
85+
public:
86+
int subarraySum(vector<int>& nums, int k) {
87+
unordered_map<int, int> mp;
88+
mp[0] = 1;
89+
int res = 0, s = 0;
90+
for (int num : nums)
91+
{
92+
s += num;
93+
res += mp[s - k];
94+
++mp[s];
95+
}
96+
return res;
97+
}
98+
};
99+
```
100+
101+
### **Go**
102+
103+
```go
104+
func subarraySum(nums []int, k int) int {
105+
mp := make(map[int]int)
106+
mp[0] = 1
107+
res, s := 0, 0
108+
for _, num := range nums {
109+
s += num
110+
res += mp[s-k]
111+
mp[s]++
112+
}
113+
return res
114+
}
115+
```
116+
59117
### **...**
60118

61119
```
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution {
2+
public:
3+
int subarraySum(vector<int>& nums, int k) {
4+
unordered_map<int, int> mp;
5+
mp[0] = 1;
6+
int res = 0, s = 0;
7+
for (int num : nums)
8+
{
9+
s += num;
10+
res += mp[s - k];
11+
++mp[s];
12+
}
13+
return res;
14+
}
15+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
func subarraySum(nums []int, k int) int {
2+
mp := make(map[int]int)
3+
mp[0] = 1
4+
res, s := 0, 0
5+
for _, num := range nums {
6+
s += num
7+
res += mp[s-k]
8+
mp[s]++
9+
}
10+
return res
11+
}

‎solution/0500-0599/0560.Subarray Sum Equals K/Solution.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ public int subarraySum(int[] nums, int k) {
44
map.put(0, 1);
55
int res = 0;
66
int s = 0;
7-
for (int i = 0; i < nums.length; ++i) {
8-
s += nums[i];
7+
for (int num : nums) {
8+
s += num;
99
res += map.getOrDefault(s - k, 0);
1010
map.put(s, map.getOrDefault(s, 0) + 1);
1111
}
1212
return res;
1313
}
14-
}
14+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def subarraySum(self, nums: List[int], k: int) -> int:
3+
mp = collections.Counter()
4+
mp[0] = 1
5+
res = s = 0
6+
for num in nums:
7+
s += num
8+
res += mp[s - k]
9+
mp[s] += 1
10+
return res

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /