From 90e7346a4965af36bab72bc68a1d5719d3408551 Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Fri, 31 May 2024 07:36:06 +0100 Subject: [PATCH] Swift implementation for LCOF2 010 --- .../README.md" | 20 +++++++++++++++++++ .../Solution.swift" | 15 ++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 "lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/Solution.swift" diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/README.md" index d867da72bb646..26bc879d0ba7e 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/README.md" @@ -143,6 +143,26 @@ function subarraySum(nums: number[], k: number): number { } ``` +#### Swift + +```swift +class Solution { + func subarraySum(_ nums: [Int], _ k: Int) -> Int { + var cnt: [Int: Int] = [0: 1] + var ans = 0 + var s = 0 + + for x in nums { + s += x + ans += cnt[s - k, default: 0] + cnt[s, default: 0] += 1 + } + + return ans + } +} +``` + diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/Solution.swift" "b/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/Solution.swift" new file mode 100644 index 0000000000000..b006f7b3eeab2 --- /dev/null +++ "b/lcof2/\345\211\221\346\214\207 Offer II 010. \345\222\214\344\270\272 k \347\232\204\345\255\220\346\225\260\347\273\204/Solution.swift" @@ -0,0 +1,15 @@ +class Solution { + func subarraySum(_ nums: [Int], _ k: Int) -> Int { + var cnt: [Int: Int] = [0: 1] + var ans = 0 + var s = 0 + + for x in nums { + s += x + ans += cnt[s - k, default: 0] + cnt[s, default: 0] += 1 + } + + return ans + } +} \ No newline at end of file