Sha256: 5f7938d1cd02eb08ffc9440072ba34498a1296122e5590293cd65b457b8d9160

Contents?: true

Size: 544 Bytes

Versions: 396

Compression:

Stored size: 544 Bytes

Contents

class Triangle
  attr_reader :depth
  def initialize(depth)
    @depth = depth
  end

  def rows
    triangle = []
    0.upto(depth - 1) do |row|
      values = []
      if row == 0
        values << 1
      else
        length = (triangle[row - 1] || []).size
        0.upto(length) do |position|
          left = position.zero? ? 0 : triangle[row - 1][position - 1]
          right = (triangle[row - 1] || [])[position] || 0
          values << (left + right)
        end
      end
      triangle[row] = values
    end
    triangle
  end
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.179 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.178 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.177 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.176 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.175 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.174 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.173 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.172 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.171 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.170 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.169 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.167 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.166 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.165 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.164 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.163 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.162 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.161 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb
trackler-2.2.1.160 tracks/ruby/exercises/pascals-triangle/.meta/solutions/pascals_triangle.rb