From 9430a954837773b95b34333d455552ef7e48b644 Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Mon, 18 Nov 2024 09:32:32 +0100 Subject: [PATCH] feat: add swift implementation to lcp problem: No.28 (#3775) --- lcp/LCP 28. 采购方案/README.md | 25 +++++++++++++++++++++++++ lcp/LCP 28. 采购方案/Solution.swift | 20 ++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 lcp/LCP 28. 采购方案/Solution.swift diff --git a/lcp/LCP 28. 采购方案/README.md b/lcp/LCP 28. 采购方案/README.md index db74c35293..badc772c45 100644 --- a/lcp/LCP 28. 采购方案/README.md +++ b/lcp/LCP 28. 采购方案/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. 采购方案/Solution.swift b/lcp/LCP 28. 采购方案/Solution.swift new file mode 100644 index 0000000000..73add5edd3 --- /dev/null +++ b/lcp/LCP 28. 采购方案/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