leetcode--杨辉三角(C、C++)

news/2024/11/24 10:46:25/

文章目录

  • 1.C实现
  • 2.C++实现

在这里插入图片描述

1.C实现

在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>int** generate(int n, int* rnum_row, int** rnum_row_ele) 
{//*rnum_row-->num_row:杨辉三角行数*rnum_row = n;//*rnum_row_ele-->num_row_ele:一级指针 指向一维数组 n个int-->每一行元素个数*rnum_row_ele = (int*)malloc(sizeof(int) * n);//a:二级指针 指向一个一维数组 n个int* 每一个int*指向一个一维数组-->存放杨辉三角数据int** a = (int**)malloc(sizeof(int*) * n);for (int i = 0; i < n; ++i){//第i行 i+1个数据   *(a + i):一级指针 指向一个一维数组 --> 存放杨辉三角数据*(a + i) = (int*)malloc(sizeof(int) * (i + 1));//首尾均为1a[i][0] = a[i][i] = 1;//第i行 元素个数i+1*((*rnum_row_ele) + i) = i + 1;for (int j = 1; j < i; ++j){a[i][j] = a[i - 1][j] + a[i - 1][j - 1];}}return a;
}
int main()
{int n = 0;  //输出n行杨辉三角的内容scanf("%d", n);int num_row = 0; //杨辉三角行数int* num_row_ele = NULL;//一级指针 指向一个一维数组 存放每一行元素个数int** arr = generate(n, &num_row, &num_row_ele);// 输出结果for (int i = 0; i < num_row; ++i){for (int j = 0; j < *(num_row_ele + i); ++j){printf("%d ", arr[i][j]);}printf("\n");}// 释放内存for (int i = 0; i < num_row; ++i){free(arr[i]);}free(arr);free(num_row_ele);return 0;
}

2.C++实现

在这里插入图片描述

#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Solution
{
public://Solution类的公有成员函数vector<vector<int>> generate(int numRows){vector<vector<int>> vv;vv.resize(numRows);for (size_t i = 0; i < vv.size(); ++i){//第i行 i+1个数据 初始化0vv[i].resize(i + 1, 0);//头尾为1vv[i].front() = vv[i].back() = 1;}for (size_t i = 0; i < vv.size(); ++i){for (size_t j = 0; j < vv[i].size(); ++j){if (vv[i][j] == 0)vv[i][j] = vv[i - 1][j] + vv[i - 1][j - 1];}}return vv;}
};
int main()
{int n = 0;scanf("%d", n);Solution s;vector<vector<int>> ret = s.generate(n);for (size_t i = 0; i < ret.size(); ++i){for (size_t j = 0; j < ret[i].size(); ++j){cout << ret[i][j] << " ";}cout << endl;}return 0;
}

http://www.ppmy.cn/news/769800.html

相关文章

linux:nginx目录结构

参考&#xff1a; Nginx目录结构与配置文件详解 Nginx 目录结构详解_-纸短情长的博客-CSDN博客

visual studio 各版本 激活码

vs2019 Enterprise&#xff08;企业版&#xff09; BF8Y8-GN2QH-T84XB-QVY3B-RC4DF vs2019 Professional&#xff08;专业版&#xff09; NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y vs2017 Enterprise&#xff08;企业版&#xff09; NJVYC-BMHX2-G77MM-4XJMR-6Q8QF vs2017 Profession…

phpstorm 2017激活码(亲测可用)

phpstorm 2017激活码&#xff08;亲测可用&#xff09; 一、 二、&#xff08;红框内输入&#xff1a;http://jetbrains.license.laucyun.com 直到看到绿色ok&#xff0c;重启就不会在弹出不该弹出的窗口了&#xff09;

yogabook安卓版root方法

yogabook型号&#xff1a;Lenovo YB1-X90F,安卓版本&#xff1a;6.0.1 1、下载twrp. recovery_twrp.img 2、下载Magisk. Magisk-v10.2.zip&#xff0c;open_gapps-x86_64-6.0-micro-20170401.zip 3、下载adbfastboot 在androidsdk的platform-tools文件夹中 4、把 recover…

安卓yogabook改linux,yogabook一年实测,给你最直接的使用感受!

大一马上开学了&#xff0c;拥有一台笔记本电脑是每个大学生最基本的事吧&#xff0c;毕竟现在在学校很多方面都会用到电脑&#xff0c;如果只是为了打游戏这期测评可能对你没啥用处&#xff0c;大学生还是学习为主&#xff01;时下笔记本电脑的选择还是不少的&#xff0c;游戏…

安装yum源

三个源&#xff0c;httpd的&#xff1a; 首先&#xff1a;安装yum源 关闭防火墙和安全机制 然后访问本机ip 显示出来&#xff0c;删除掉&#xff0c;然后创建本地yum源 挂载&#xff0c;但是test没有 创建test&#xff0c;然后挂载 必须要进入到这个目录下创建挂载才行&…

Vue组件库Element-快速入门

目录 什么是Element 快速入门 什么是Element Element&#xff1a;是饿了么团队研发的&#xff0c;一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库组件&#xff1a;组成网页的部件&#xff0c;例如超链接、按钮、图片、表单、表格、分页条等官网&#xff1a;…

人生六十才开始(转载)

转载自http://jfwan.spaces.live.com/Blog/cns!1p3Boor3Na0X-3DQKKc04ddw!113.entry 人生六十才开始 以《怎样活到100岁》的讲演而闻名遐迩的洪昭光教授&#xff0c;再次为读者奉献他的新作—— 人生六十才开始 洪昭光 新时代&#xff0c;健康新观念&#xff1a;健康快乐一百岁…