From d8a08cdd20d9a607b07a38a8e3182e74e5611d22 Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Fri, 31 May 2024 07:33:21 +0100 Subject: [PATCH] Swift implementation for LCOF2 008 --- .../README.md" | 24 +++++++++++++++++++ .../Solution.swift" | 19 +++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 "lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/Solution.swift" diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/README.md" index 5a5c56cac043a..778f064a3dd85 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/README.md" @@ -176,6 +176,30 @@ function minSubArrayLen(target: number, nums: number[]): number { } ``` +#### Swift + +```swift +class Solution { + func minSubArrayLen(_ target: Int, _ nums: [Int]) -> Int { + let inf = Int.max + var ans = inf + var sum = 0 + var i = 0 + + for j in 0..= target { + ans = min(ans, j - i + 1) + sum -= nums[i] + i += 1 + } + } + + return ans == inf ? 0 : ans + } +} +``` + diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/Solution.swift" "b/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/Solution.swift" new file mode 100644 index 0000000000000..a47d1ebefd392 --- /dev/null +++ "b/lcof2/\345\211\221\346\214\207 Offer II 008. \345\222\214\345\244\247\344\272\216\347\255\211\344\272\216 target \347\232\204\346\234\200\347\237\255\345\255\220\346\225\260\347\273\204/Solution.swift" @@ -0,0 +1,19 @@ +class Solution { + func minSubArrayLen(_ target: Int, _ nums: [Int]) -> Int { + let inf = Int.max + var ans = inf + var sum = 0 + var i = 0 + + for j in 0..= target { + ans = min(ans, j - i + 1) + sum -= nums[i] + i += 1 + } + } + + return ans == inf ? 0 : ans + } +} \ No newline at end of file