博客
关于我
LeetCode119.杨辉三角2Golang版
阅读量:382 次
发布时间:2019-03-05

本文共 677 字,大约阅读时间需要 2 分钟。

要解决给定一个非负索引 k,返回杨辉三角的第 k 行的问题,我们可以利用杨辉三角的性质,即每一行的数是其左右邻居的和。通过动态计算组合数,我们可以直接生成每一行的数值。

方法思路

杨辉三角的每一行可以看作是组合数的序列。第 k 行的数是组合数 C(k, 0), C(k, 1), ..., C(k, k)。为了生成第 k 行,我们可以从左到右依次计算每个位置的值。具体来说,第 i 个数可以通过前一个数乘以 (k - i + 1) 再除以 i 来计算。

解决代码

func getRow(rowIndex int) []int {    yanghui := make([]int, rowIndex + 1)    yanghui[0] = 1    for i := 1; i <= rowIndex; i++ {        yanghui[i] = yanghui[i-1] * (rowIndex - i + 1) / i    }    return yanghui}

代码解释

  • 初始化数组:创建一个长度为 rowIndex + 1 的数组 yanghui,并将第一个元素初始化为 1。
  • 计算每个位置的值:从 i=1 到 i=rowIndex,依次计算每个位置的值。使用公式 yanghui[i] = yanghui[i-1] * (rowIndex - i + 1) / i 来计算每个位置的值。
  • 返回结果:返回生成的杨辉三角第 k 行的数组。
  • 这种方法通过直接计算组合数,避免了传统杨辉三角生成方式中的复杂循环和覆盖问题,实现简洁高效。

    转载地址:http://nlcwz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现获取文件大小(字节数) (附完整源码)
    查看>>
    Objective-C实现获取文件头的50个字符(附完整源码)
    查看>>
    Objective-C实现获取文件夹内所有文件的绝对路径(附完整源码)
    查看>>
    Objective-C实现获取文件最后修改时间(附完整源码)
    查看>>
    Objective-C实现获取文件末的50个字符(附完整源码)
    查看>>
    Objective-C实现获取文件编码格式(附完整源码)
    查看>>
    Objective-C实现获取本机ip及mac地址(附完整源码)
    查看>>
    Objective-C实现获取本机系统版本(附完整源码)
    查看>>
    Objective-C实现获取桌面应用程序图标位置 (附完整源码)
    查看>>
    Objective-C实现获取电脑内存信息(附完整源码)
    查看>>
    Objective-C实现获取电脑所有盘符和容量大小 (附完整源码)
    查看>>
    Objective-C实现获取电脑网卡信息(附完整源码)
    查看>>
    Objective-C实现获取磁盘分区信息(附完整源码)
    查看>>
    Objective-C实现获取磁盘剩余空间(附完整源码)
    查看>>
    Objective-C实现获取磁盘盘符以及剩余空间(附完整源码)
    查看>>
    Objective-C实现获取系统序列号(SN)(附完整源码)
    查看>>
    Objective-C实现获得总和S所需的最小硬币数量的函数(附完整源码)
    查看>>
    Objective-C实现获得第 N 个卢卡斯数算法 (附完整源码)
    查看>>
    Objective-C实现萨内瓦片调度算法(附完整源码)
    查看>>
    Objective-C实现蓄水池算法(附完整源码)
    查看>>