Skip to content

Commit 3869b28

Browse files
authored
feat: add solutions to lc/lcof2 problems (doocs#630)
lc No.0209 & lcof2 No.008.Minimum Size Subarray Sum
1 parent d4657a1 commit 3869b28

File tree

5 files changed

+108
-0
lines changed

5 files changed

+108
-0
lines changed

lcof2/剑指 Offer II 008. 和大于等于 target 的最短子数组/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,30 @@ func min(a, b int) int {
136136
}
137137
```
138138

139+
### **C++**
140+
141+
```cpp
142+
class Solution {
143+
public:
144+
int minSubArrayLen(int target, vector<int>& nums) {
145+
int left = 0, right;
146+
int sum = 0;
147+
int minlen = INT_MAX;
148+
149+
for (right = 0; right < nums.size(); right++) {
150+
sum += nums[right];
151+
while(left <= right && sum >= target) {
152+
minlen = min(minlen, right - left + 1);
153+
sum -= nums[left++];
154+
}
155+
}
156+
157+
return minlen == INT_MAX? 0: minlen;
158+
}
159+
};
160+
```
161+
162+
139163
### **...**
140164

141165
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
int minSubArrayLen(int target, vector<int>& nums) {
4+
int left = 0, right;
5+
int sum = 0;
6+
int minlen = INT_MAX;
7+
8+
for (right = 0; right < nums.size(); right++) {
9+
sum += nums[right];
10+
while(left <= right && sum >= target) {
11+
minlen = min(minlen, right - left + 1);
12+
sum -= nums[left++];
13+
}
14+
}
15+
16+
return minlen == INT_MAX? 0: minlen;
17+
}
18+
};

solution/0200-0299/0209.Minimum Size Subarray Sum/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,30 @@ class Solution {
166166
}
167167
```
168168

169+
### **C++**
170+
171+
```cpp
172+
class Solution {
173+
public:
174+
int minSubArrayLen(int target, vector<int>& nums) {
175+
int left = 0, right;
176+
int sum = 0;
177+
int minlen = INT_MAX;
178+
179+
for (right = 0; right < nums.size(); right++) {
180+
sum += nums[right];
181+
while(left <= right && sum >= target) {
182+
minlen = min(minlen, right - left + 1);
183+
sum -= nums[left++];
184+
}
185+
}
186+
187+
return minlen == INT_MAX? 0: minlen;
188+
}
189+
};
190+
```
191+
192+
169193
### **C#**
170194

171195
```cs

solution/0200-0299/0209.Minimum Size Subarray Sum/README_EN.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,30 @@ class Solution {
143143
}
144144
```
145145

146+
### **C++**
147+
148+
```cpp
149+
class Solution {
150+
public:
151+
int minSubArrayLen(int target, vector<int>& nums) {
152+
int left = 0, right;
153+
int sum = 0;
154+
int minlen = INT_MAX;
155+
156+
for (right = 0; right < nums.size(); right++) {
157+
sum += nums[right];
158+
while(left <= right && sum >= target) {
159+
minlen = min(minlen, right - left + 1);
160+
sum -= nums[left++];
161+
}
162+
}
163+
164+
return minlen == INT_MAX? 0: minlen;
165+
}
166+
};
167+
```
168+
169+
146170
### **C#**
147171

148172
```cs
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
public:
3+
int minSubArrayLen(int target, vector<int>& nums) {
4+
int left = 0, right;
5+
int sum = 0;
6+
int minlen = INT_MAX;
7+
8+
for (right = 0; right < nums.size(); right++) {
9+
sum += nums[right];
10+
while(left <= right && sum >= target) {
11+
minlen = min(minlen, right - left + 1);
12+
sum -= nums[left++];
13+
}
14+
}
15+
16+
return minlen == INT_MAX? 0: minlen;
17+
}
18+
};

0 commit comments

Comments
 (0)