From 88e12be8a87c4ea67459f73a826f85db488ff5b4 Mon Sep 17 00:00:00 2001 From: Lanre Adedara Date: Mon, 11 Nov 2024 08:42:48 +0100 Subject: [PATCH] feat: add swift implementation to lcp problem: No.07 --- .../README.md" | 19 +++++++++++++++++++ .../Solution.swift" | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 "lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/Solution.swift" diff --git "a/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/README.md" "b/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/README.md" index 1703fe246c239..5393a21a182da 100644 --- "a/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/README.md" +++ "b/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/README.md" @@ -155,6 +155,25 @@ function numWays(n: number, relation: number[][], k: number): number { } ``` +#### Swift + +```swift +class Solution { + func numWays(_ n: Int, _ relation: [[Int]], _ k: Int) -> Int { + var f = Array(repeating: Array(repeating: 0, count: n), count: k + 1) + f[0][0] = 1 + + for i in 1...k { + for r in relation { + let a = r[0], b = r[1] + f[i][b] += f[i - 1][a] + } + } + return f[k][n - 1] + } +} +``` + diff --git "a/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/Solution.swift" "b/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/Solution.swift" new file mode 100644 index 0000000000000..c652759ac9adf --- /dev/null +++ "b/lcp/LCP 07. \344\274\240\351\200\222\344\277\241\346\201\257/Solution.swift" @@ -0,0 +1,14 @@ +class Solution { + func numWays(_ n: Int, _ relation: [[Int]], _ k: Int) -> Int { + var f = Array(repeating: Array(repeating: 0, count: n), count: k + 1) + f[0][0] = 1 + + for i in 1...k { + for r in relation { + let a = r[0], b = r[1] + f[i][b] += f[i - 1][a] + } + } + return f[k][n - 1] + } +}