如何使用 C# 为给定数字生成帕斯卡三角形?
帕斯卡三角形是三角形形状的数字模式。帕斯卡三角在数学和统计学中有许多应用,包括它帮助您计算组合的能力。
三角形中的每个数字都是它上面的两个数字之和。例如,第4行-它是上一行中3和3的总和。任何行中的第一个和最后一个数字始终为1。
时间复杂度-O(N)
空间复杂度-O(N)
示例
public class Arrays{ public List输出结果> GeneratePascal(int n){ List
> res = new List
>(); if (n <= 0){ return null; } List
first = new List (); first.Add(1); res.Add(first); if (n == 1){ return res; } for (int i = 2; i < n; i++){ List prev = res.LastOrDefault(); List cur = new List (); for (int temp = 0; temp < i; temp++){ cur.Add(1); } for (int j = 1; j < i - 1; j++){ cur[j] = prev[j - 1] + prev[j]; } res.Add(cur); } return res; } } static void Main(string[] args){ Arrays s = new Arrays(); var res = s.GeneratePascal(5); }
[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]