当前位置: 首页 > article >正文

LeetCode 119. 杨辉三角 II

题意:求杨辉三角(帕斯卡三角)的第n行(n从0开始)
杨辉三角的每一行是二项式排列组合的展开式
第n行为:
C n 0 , C n 1 , C n 2 , … , C n n C_{n}^{0}, C_{n}^{1}, C_{n}^{2}, \dots, C_{n}^{n} Cn0,Cn1,Cn2,,Cnn
又已知排列组合的阶乘表示公式
C n m = n ! m ! ( n − m ) ! C_{n}^{m} = \frac{n!}{m!(n-m)!} Cnm=m!(nm)!n!
因此若已知 C n m C_{n}^{m} Cnm C n m + 1 C_{n}^{m+1} Cnm+1 有:
C n m + 1 = C n m ⋅ n − m m + 1 C_{n}^{m+1} = C_{n}^{m} \cdot \frac{n-m}{m+1} Cnm+1=Cnmm+1nm

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> getRow(int rowIndex) {  
	    vector<int> a(rowIndex+1);  
	    a[0] = 1;  
	    for (int i = 1; i <= rowIndex; ++i) {  
	        a[i] = (int)((size_t) a[i-1] * (rowIndex - 1 + 1) / i);  
	    }  
	    return a;  
		}
    }
};

http://www.kler.cn/a/523424.html

相关文章:

  • 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(一)
  • 2024年记 | 凛冬将至
  • OpenHarmony 5.0.2 Release来了!
  • QT 笔记
  • 【数据结构】动态内存管理函数
  • 程序代码篇---C++常量引用
  • PyCharm中Python打包工具不见了的解决方案
  • parametric_vector = linspace(0, 1, num_points);详细解释
  • 【Python百日进阶-Web开发-FastAPI】Day813 - FastAPI 响应模型
  • Linux——网络基础(1)
  • 基于SpringBoot的阳光幼儿园管理系统
  • MongoDB平替数据库对比
  • DeepSeek:突破传统的AI算法与下载排行分析
  • 输出国际象棋棋盘
  • GBase 8a 9.5.3.27 DBlink配置---源端GBase
  • Xposed-Hook
  • 每日一题 430. 扁平化多级双向链表
  • Nginx 性能优化技巧与实践(二)
  • GORM 支持的数据库解析
  • 力扣 【99. 恢复二叉搜索树】Java题解(二叉树的 Morris 遍历)
  • Vue.js 配合 Vue Router 使用 Vuex
  • 【漫话机器学习系列】065.梯度(Gradient)
  • 数组at()方法:负索引的救赎与JavaScript标准化之路
  • jemalloc 5.3.0的tsd模块的源码分析
  • 关于存储磁盘固件版本:打破版本一致性迷思
  • Python 函数魔法书:基础、范例、避坑、测验与项目实战