diff --git a/0209-Minimum_Size_Subarray_Sum/main.ts b/0209-Minimum_Size_Subarray_Sum/main.ts
new file mode 100644
index 0000000..799c948
--- /dev/null
+++ b/0209-Minimum_Size_Subarray_Sum/main.ts
@@ -0,0 +1,31 @@
+// let target = 7,
+// nums = [2, 3, 1, 2, 4, 3];
+// let target = 4,
+// nums = [1, 4, 4];
+let target = 11,
+ nums = [1, 1, 1, 1, 1, 1, 1, 1];
+
+function miniSubArrayLen(target: number, nums: number[]): number {
+ let left: number = 0,
+ right: number = 0;
+ let res: number = nums.length + 1;
+ let sum: number = 0;
+ while (right < nums.length) {
+ sum += nums[right];
+ if (sum >= target) {
+ while (sum - nums[left] >= target) {
+ sum -= nums[left++];
+ }
+ res = Math.min(res, right - left + 1);
+ }
+ right++;
+ }
+ return res === nums.length + 1 ? 0 : res;
+}
+
+let result = miniSubArrayLen(target, nums);
+console.time("miniSubArrayLen");
+miniSubArrayLen(target, nums);
+console.timeEnd("miniSubArrayLen");
+
+console.log(result);
diff --git a/0209-Minimum_Size_Subarray_Sum/readme.md b/0209-Minimum_Size_Subarray_Sum/readme.md
new file mode 100644
index 0000000..05a7385
--- /dev/null
+++ b/0209-Minimum_Size_Subarray_Sum/readme.md
@@ -0,0 +1,27 @@
+# 209. Minimum Size Subarray Sum
+
+Given an array of positive integers `nums` and a positive integer `target`, return the minimal length of a
+subarray
+whose sum is greater than or equal to `target`. If there is no such subarray, return `0` instead.
+
+## Example 1:
+
+> Input: target = 7, nums = [2, 3, 1, 2, 4, 3]
+> Output: 2
+> Explanation: The subarray [4, 3] has the minimal length under the problem constraint.
+
+## Example 2:
+
+> Input: target = 4, nums = [1, 4, 4]
+> Output: 1
+
+## Example 3:
+
+> Input: target = 11, nums = [1, 1, 1, 1, 1, 1, 1, 1]
+> Output: 0
+
+### Constraints:
+
+- 1 <= target <= 109
+- 1 <= nums.length <= 105
+- 1 <= nums[i] <= 104