Pascal's Triangle
来源:互联网 发布:coc女王数据 编辑:程序博客网 时间:2024/06/06 09:13
Given numRows, generate the first numRows of Pascal’s triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
/************************************************************************* > File Name: pascal.c > Author: Mandagod > Blog: http://blog.csdn.net/mandagod > Mail: manda2003@163.com > Created Time: 2016年07月09日 星期六 22时52分46秒 ************************************************************************/#include<stdio.h>/** * Return an array of arrays. * The sizes of the arrays are returned as *columnSizes array. * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free(). */int** generate(int numRows, int** columnSizes) { *columnSizes = (int*)malloc(sizeof(int) * numRows); int** res = (int**)malloc(sizeof(int*) * numRows); int i, j; for (i = 0; i < numRows; i++) { (*columnSizes)[i] = i+1; res[i] = (int*)malloc(sizeof(int) * (i + 1)); res[i][0] = res[i][i] = 1; for(j = 1; j < i; j++) res[i][j] = res[i - 1][j - 1] + res[i - 1][j]; } return res;}int test(int numRows) { printf("numRows: %d\n", numRows); int i, j, k; int*len; int** a = generate(numRows, &len); for (j = 0; j < numRows; j++) { printf("row%d:%d length", j, len[j]); printf("["); for(k = 0; k < j + 1; k++) { printf(" %d", a[j][k]); } printf(" ]\n"); } for(i = 0; i < numRows; i++) free(a[i]); free(a); printf("\n"); return 0;}int main() { int i; for (i = 0; i < 6; i++) { test(i); } return 0;}// run resultsnumRows: 0numRows: 1row0:1 length[ 1 ]numRows: 2row0:1 length[ 1 ]row1:2 length[ 1 1 ]numRows: 3row0:1 length[ 1 ]row1:2 length[ 1 1 ]row2:3 length[ 1 2 1 ]numRows: 4row0:1 length[ 1 ]row1:2 length[ 1 1 ]row2:3 length[ 1 2 1 ]row3:4 length[ 1 3 3 1 ]numRows: 5row0:1 length[ 1 ]row1:2 length[ 1 1 ]row2:3 length[ 1 2 1 ]row3:4 length[ 1 3 3 1 ]row4:5 length[ 1 4 6 4 1 ]
0 0
- Pascal's Triangle、Pascal's Triangle II
- Pascal's Triangle , Pascal's Triangle II
- Pascal's Triangle Pascal's Triangle||
- Pascal's Triangle & Pascal's Triangle II
- Pascal's Triangle && Pascal's Triangle II
- 【Leetcode】Pascal's Triangle (Pascal)
- LeetCode Pascal's Triangle
- [Leetcode] Pascal's Triangle
- LeetCode: Pascal's Triangle
- Pascal's Triangle
- Pascal's Triangle II
- [LeetCode] Pascal's Triangle
- 【leetcode】Pascal's Triangle
- [118]Pascal's Triangle
- Pascal's Triangle
- Pascal's Triangle II
- LeetCode - Pascal's Triangle
- Pascal's Triangle
- Python 基础学习笔记
- IBOutlet 为什么默认是weak的
- How To Install Ffmpeg, Mplayer, Mencoder, Flvtool2, Yamdi, X264 On Centos
- Tkinter模块GUI
- java web——Session/Cookie/Servlet 详解
- Pascal's Triangle
- IntellijIDEA 2016.1.3 使用部分问题解决
- 欢迎使用CSDN-markdown编辑器
- Android Studio官方文档之用注解检查改善代码质量
- css基本学习
- python爬虫
- 八皇后问题
- java微信公共帐号支付(JS支付)
- maven+jetty开发环境配置随笔