LeetCode:118.杨辉三角

118. 杨辉三角 - 力扣(LeetCode)

前言:平平无奇的实现,数组理清了的话就很easy,值得说的是给定的参数

int* returnSize, int** returnColumnSizes

是什么意思,还得熟悉适应,博主还是看官解的代码和参数名字和提示来理解,

博主的理解是returnSize是外部定义的存放我们要创建的杨辉三角的int整型指针数组的大小的变量,传递进来的是地址,所以是int* ;

returnColumnSizes,如其名,返回的列的大小,具体其实是每一行杨辉三角的列数(每一行有几个数)看作外部定义了一个int* 的指针,把地址传递了进来,所以是int** 我们要malloc一个数组,存放每一行的个数,

目录

题目:

思路:

代码+注释:

每日表情包:


题目:

思路:

没啥值得思考的,就像题目动画的演示一样,把二维数组的上一行的那两个数加起来就好,考验的是数组的基本,由于遍历二维数组,所以易知时O(n^2);

代码+注释:

/**
 * Return an array of arrays of size *returnSize.
 * The sizes of the arrays are returned as *returnColumnSizes array.
 * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().
 */
int* BuyMalloc(int i)
{
    int* tmp = (int*)malloc(sizeof(int)* i);
    assert(tmp);
    return tmp;
}
int** generate(int numRows, int* returnSize, int** returnColumnSizes) {
    int** r = (int**)malloc(sizeof(int*) * numRows);
    *returnSize = numRows;
    *returnColumnSizes = (int*)malloc(sizeof(int) * numRows);
    for(int i = 1; i <= numRows; ++i){//i为第i行
        r[i - 1] = BuyMalloc(i);
        for(int j = 0; j < i; ++j){
            if(j == 0 || j == i - 1){//确立边界(特殊)
                r[i - 1][j] = 1;
            }
            else{//(一般情况)
                r[i - 1][j] = r[i - 2][j - 1] + r[i - 2][j];
            }
        }
        (*returnColumnSizes)[i - 1] = i;
    }
    return r;
}

每日表情包:

点点赞可怜可怜孩子吧!,嘤嘤嘤! 

相关推荐

  1. LeetCode 题目 118三角

    2024-02-16 01:42:01       34 阅读
  2. LeetCode 119. 三角 II

    2024-02-16 01:42:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-16 01:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-16 01:42:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-16 01:42:01       82 阅读
  4. Python语言-面向对象

    2024-02-16 01:42:01       91 阅读

热门阅读

  1. docker (二)-yum&二进制部署

    2024-02-16 01:42:01       55 阅读
  2. c++STL系列——(十)Adapter

    2024-02-16 01:42:01       49 阅读
  3. 评估方法:CMMI/能力成熟度模型集成

    2024-02-16 01:42:01       55 阅读
  4. 笔试刷题(持续更新)| Leetcode 45,1190

    2024-02-16 01:42:01       61 阅读
  5. 2024/2/15

    2024-02-16 01:42:01       50 阅读
  6. gorm day7

    2024-02-16 01:42:01       37 阅读