Sha256: ad69c66bd2046f766272eab62ed6189f529798e6b28d092b55cb3076391b758b

Contents?: true

Size: 1011 Bytes

Versions: 396

Compression:

Stored size: 1011 Bytes

Contents

struct PascalsTriangle {

    let rows: [[Int]]

    init(_ numberOfRows: Int) {
        var triangle = [[Int]]()

        for rowNumber in 0..<numberOfRows {
            var values = [Int]()
            if rowNumber == 0 {
                values.append(1)
            } else {
                let lastRow = triangle[rowNumber - 1]
                let length = lastRow.count

                for position in 0...length {
                    let left: Int
                    if position == 0 {
                        left = 0
                    } else {
                        left = lastRow[position - 1]
                    }

                    let right: Int
                    if position < length {
                        right = lastRow[position]
                    } else {
                        right = 0
                    }

                    values.append(left + right)
                }
            }
            triangle.append(values)
        }

        self.rows = triangle
    }

}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.179 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.178 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.177 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.176 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.175 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.174 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.173 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.172 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.171 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.170 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.169 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.167 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.166 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.165 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.164 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.163 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.162 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.161 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift
trackler-2.2.1.160 tracks/swift/exercises/pascals-triangle/Sources/PascalsTriangleExample.swift