【Leetcode】Pascal's Triangle II

【Leetcode】Pascal's Triangle II

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Given an index k, return the kth row of the Pascal’s triangle.

For example, given k = 3,
Return [1,3,3,1].

Note:
Could you optimize your algorithm to use only O(k) extra space?

思路:最简单的方法就是依照【Leetcode】Pascal’s Triangle 的方式自顶向下依次求解,但会造成空间的浪费。若仅仅用一个vector存储结果。在下标从小到大的遍历过程中会改变vector的值,如[1, 2, 1] 按小标从小到大累计会变成[1, 3, 4, 1]不是所求解,因此能够採取两种解决方法,简单的一种则是使用两个vector,一个存上一层的值。一个存本层的值,然后再进行交换。第二种方法则是按下标从大到小进行遍历,则会避免上述问题。

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> result;
        
        for(int i = 0; i <= rowIndex; i++)
        {
            for(int j = i - 1; j > 0; j--)
                result[j] = result[j] + result[j - 1];
            
            result.push_back(1);
        }
        
        return result;
    }
};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117724.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .ipynb与.py文件快速互转[通俗易懂]

    .ipynb与.py文件快速互转[通俗易懂].ipynb代码转为.py:法一:在xxx.ipynb所在目录下,打开终端,并输入命令:jupyternbconvert–toscriptxxx.ipynb其中xxx.ipynb是要转换文件的名字,转换后在该目录下出现xxx.py文件(有的版本是xxx.txt文件,再改下后缀即可)。法二:在Jupyternotebook或GoogleColab中打开ipynb文件,然后选择file–downloadas–pythonfile.py代码转为.ipynb:

    2022年8月29日
    0
  • PotPlayer最新 中文,绿色版 PotPlayer

    PotPlayer最新 中文,绿色版 PotPlayer今天推荐一款纯净、无广告、极速、功能强大的播放器:PotplayerPotPlayer到底好在哪里?【知乎】PotPlayer有独特的高级功能!第一,支持单帧播放(F键前进一帧,D键倒退一帧,空格键正常播放)第二,支持变速播放(X键降速10%,C键提速10%,Z键重置)第三,支持5.1声道和7.1声道,可以搭建环绕声家庭影院第四,支持画声同步调节(<键画面提前50ms,>键画面延后50ms,?键重置)第五,按Tab键就能显示视频文件的详细信息第六,支持硬解码,支持软…

    2022年7月14日
    14
  • tomcat服务启动,但是无法访问网站_java获取request的所有参数

    tomcat服务启动,但是无法访问网站_java获取request的所有参数废话不说,真接上代码。HttpURLConnectionconn=(HttpURLConnection)url.openConnection();conn.setRequestProperty(“Content-Length”,”0″);中的第二句没有起作用(发出去的http头里,未含有Content-Length字段)。但是这个代码在android平台上跑的时候,第二句是起了作用的。为…

    2022年9月10日
    0
  • IDEA 安装步骤「建议收藏」

    IDEA 安装步骤「建议收藏」1、下载与安装下载地址:https://www.jetbrains.com下载完成后安装选择安装的位置安装完成激活码:K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZWVOYW1lIjoibnNzIDEwMDEiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoi…

    2022年9月1日
    3
  • kali 更换更新源

    kali 更换更新源进入源文件进行修改leafpad/etc/apt/sources.list(其实系统本身就自带了更新源,去掉其注释也是可以的,现在官方源的下载速度也还ok,下面的三选一亦可)#kali官方源debhttp://http.kali.org/kalikali-rollingmainnon-freecontrib#中科大的源debhttp://…

    2022年5月28日
    53
  • pycharm安装教程2020.3.4_python安装步骤

    pycharm安装教程2020.3.4_python安装步骤第一步安装解释器,第二步安装pycharm1第一步安装解释器1.1什么是解释器:??就是将Python程序翻译成为计算机可以识别的01代码1.2安装解释器:解释器安装地址:https://www.python.org/downloads/release/python-372根据自己的操作系统安装适配的解释器:这里以Windows为例注意安装的时候我们需要需注意吧解释器添加到环境变量里面双击开始安装勾选addpythontopath,如果安装的时候没有勾选,请安装结束以后按

    2022年8月27日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号