Pascal’s Triangle

原题链接Pascal’s Triangle

杨辉三角,求出前n行的杨辉三角排列

杨辉三角的特点是triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j],越界的下标值为0

所以直接根据这个公式计算即可

代码如下

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> res(numRows);if(numRows == 0)    return res;res[0] = {1};for(int i = 1; i < numRows; ++i){res[i].reserve(i + 1);for(int j = 0; j < i + 1; ++j){int n = 0;/* 第一个j - 1会越界,直接设置为0 */n += (j > 0) ? res[i - 1][j - 1] : 0;/* 最后一个j会越界,直接设置为0 */n += (j < i) ? res[i - 1][j] : 0;res[i].push_back(n);}}return res;}
};

Pascal’s Triangle II

原题链接Pascal’s Triangle II

杨辉三角,找到第k行(从0开始),要求空间复杂度是O(k)

因为前k行每一行的元素个数都小于k+1,所以直接开辟k+1的数组空间,然后从第0行开始求,不断改变数组元素,最后求得第k行

又因为求新的一行时会用到上一行的对应列元素和前一列元素,所以不能从左向右而应该从又向左求

代码如下

class Solution {
public:vector<int> getRow(int rowIndex) {vector<int> res(rowIndex + 1);res[0] = 1;for(int i = 1; i <= rowIndex; ++i){/* 从后往前求 */for(int j = i; j >= 0; --j){int n = 0;n += (j > 0) ? res[j - 1] : 0;n += (j < i) ? res[j] : 0;res[j] = n;}}return res;}
};

两道题都是和杨慧三角有关,对着公式写代码就可以了

每天一道LeetCode-----杨辉三角相关推荐

  1. leetcode 杨辉三角 III

    I 不要用排列组合,会导致溢出 class Solution { public:vector<vector<int> > generate(int numRows){ vect ...

  2. 曾经vb,c ,c++,python,写过的杨辉三角,致敬杨老前辈

    // 杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列.杨辉三角形同时对应于二项式定理的系数. 直角三角形杨辉三角 //c语言,求直角的 #include<stdi ...

  3. leetcode数组汇总_LeetCode刷题实战118:杨辉三角

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家聊 ...

  4. LeetCode简单题之杨辉三角 II

    题目 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: rowIndex = 3 输出: [1 ...

  5. LeetCode简单题之杨辉三角

    题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: numRows = 5 输出: [[1], ...

  6. leetcode 打印_LeetCode第118号问题:杨辉三角

    本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一. 个人网站:https://www.cxyxiaowu.com 杨辉三角应该是大家很早就接触到的一个数学知识,它有很多有趣的性 ...

  7. leetcode 119. 杨辉三角 II

    题目 思路 根据上一题题解:leetcode 118. 杨辉三角 本题直接取第 i 行返回就可以了 题解 1.续上一题(118题)的解法,上一题的代码直接拿来用了 import java.util.A ...

  8. 动态规划应用--“杨辉三角”最短路径 LeetCode 120

    文章目录 1. 问题描述 2. DP算法代码 3. LeetCode 120 三角形最小路径和 1. 问题描述 对"杨辉三角"进行一些改造.每个位置的数字可以随意填写,经过某个数字 ...

  9. python杨辉三角_yiduobo的每日leetcode 118.杨辉三角 amp;amp; 119.杨辉三角II

    祖传的手艺不想丢了,所以按顺序写一个leetcode的题解.计划每日两题,争取不卡题吧. 118.杨辉三角https://leetcode-cn.com/problems/pascals-triang ...

  10. 【Leetcode每日一题】118. 杨辉三角(水题)

    Leetcode每日一题 题目链接: 118. 杨辉三角 难度: 简单 解题思路: 无.见代码. 题解: class Solution:def generate(self, numRows: int) ...

最新文章

  1. 升腾联手VMware 发布首款本土化桌面虚拟化
  2. qemu-kvm部署虚拟机
  3. 2018 .NET开发者调查报告: .NET Core 是怎么样的状态
  4. VB调用VC DLL函数
  5. 工作308:控制change
  6. java编程思想学习(1):抽象
  7. java 避免大量if else_利用java的反射避免 多个 if else if else if else if
  8. python-day19-面向对象进阶-加载顺序,命名空间,组合(实现松耦合)
  9. Oracle用户密码过期问题解决
  10. 原码、反码、补码及位操作符,C语言位操作
  11. ArcGIS Pro中的回归分析浅析(下)地理加权回归工具(GWR)使用小结
  12. android开发 手写签名,Android实现手写签名
  13. 字符串函数的使用及模拟实现:strcpy、strcmp、strcat、strstr
  14. 12.rtl8188驱动移植
  15. 学习笔记(13):C++编程FFMpeg(QT5+OpenCV)实战--实时美颜直播推流-ffmpegSDK开发环境准备,第一个ffmpeg项目创建...
  16. 台式计算机启动叫两声,电脑开机2声短报警什么情况
  17. 通过云片网实现短信以及验证码的发送
  18. app怎么调用mysql数据_教你如何拿别人APP中的数据
  19. 国内用户访问国内服务器,国外用户访问国外服务器
  20. 再预告:DIY大宝剑,大宝剑二号 ——名字还没想好

热门文章

  1. Promise、Promise.all和Promise.race实现
  2. C语言学习之编写一个C程序,运行时输人abc三个值,输出其中值最大者。
  3. 有序数组求中位数问题
  4. 深入理解asp.net中的 __doPostBack函数
  5. 2017帝都租房攻略:昌平通州租金涨幅高达25%
  6. APScheduler —— Python化的Cron
  7. 【转】C#委托事件浅析
  8. 斐波那契数列的两种实现呢
  9. iis websocket同时连线人数_【NBA云专访】沈洋连线76人CEO 疫情期间如何管理球队?...
  10. [网络安全自学篇] 六十四.Windows安全缺陷利用之SMBv3服务远程代码执行(CVE-2020-0796)复现及防御机理