From d253a0bd3e4b769bf8f61ee835154f35f09ea77f Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Mon, 18 Nov 2024 07:37:29 +0100 Subject: [PATCH 1/2] feat: add swift implementation to lcp problem: No.28 --- .../README.md" | 25 +++++++++++++++++++ .../Solution.swift" | 20 +++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 "lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/Solution.swift" diff --git "a/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" "b/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" index db74c352935f0..338938e6a3971 100644 --- "a/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" +++ "b/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" @@ -123,6 +123,31 @@ func purchasePlans(nums []int, target int) int { } ``` +#### Swift + +```swift +class Solution { + func purchasePlans(_ nums: [Int], _ target: Int) -> Int { + let mod = 1_000_000_007 + let nums = nums.sorted() + var res = 0 + var i = 0 + var j = nums.count - 1 + + while i < j { + if nums[i] + nums[j] > target { + j -= 1 + } else { + res = (res + j - i) % mod + i += 1 + } + } + + return res + } +} +``` + diff --git "a/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/Solution.swift" "b/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/Solution.swift" new file mode 100644 index 0000000000000..73add5edd350f --- /dev/null +++ "b/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/Solution.swift" @@ -0,0 +1,20 @@ +class Solution { + func purchasePlans(_ nums: [Int], _ target: Int) -> Int { + let mod = 1_000_000_007 + let nums = nums.sorted() + var res = 0 + var i = 0 + var j = nums.count - 1 + + while i < j { + if nums[i] + nums[j] > target { + j -= 1 + } else { + res = (res + j - i) % mod + i += 1 + } + } + + return res + } +} \ No newline at end of file From 1f7391d8ef4de2323863b6f5724f3fedc49bc55f Mon Sep 17 00:00:00 2001 From: klever34 Date: Mon, 18 Nov 2024 06:44:51 +0000 Subject: [PATCH 2/2] style: format code and docs with prettier --- .../README.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" "b/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" index 338938e6a3971..badc772c450f3 100644 --- "a/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" +++ "b/lcp/LCP 28. \351\207\207\350\264\255\346\226\271\346\241\210/README.md" @@ -133,7 +133,7 @@ class Solution { var res = 0 var i = 0 var j = nums.count - 1 - + while i < j { if nums[i] + nums[j] > target { j -= 1 @@ -142,7 +142,7 @@ class Solution { i += 1 } } - + return res } }