ltx_zero

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Num 118 杨辉三角

被vector坑惨的一天,capacity反应的是提供的容量而不是我给的数据占用的容量,所以会从2突然蹦到4

size是数据占用,还有就是超过capacity的时候要使用push_back,昨天对push_back的判断没问题

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<int>temp;
        vector<vector<int>>ans;
        if(numRows==0) return ans;
        temp.push_back(1);
        ans.push_back(temp);
        if(numRows==1) return ans;
        temp.clear();
        for(int i=1;i<numRows;i++)
        {
            vector<int> pre=ans[ans.size()-1];
            temp.push_back(1);
            for(int j=1;j<i;j++)
            {
                temp.push_back(pre[j-1]+pre[j]);
            }
            temp.push_back(1);
            ans.push_back(temp);
            temp.clear();
        }
        return ans;
    }
};
View Code

 Num 119 杨辉三角||

这个里面对rowIndex和上一道题的定义好像差了1,认真审题,没什么难点

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int>ans;
        //if(rowIndex==0) return ans;
        ans.push_back(1);
        if(rowIndex==0) return ans;
        for(int i=1;i<=rowIndex;i++)
        {
            vector<int>pre=ans;
            ans.clear();
            ans.push_back(1);
            for(int j=1;j<i;j++)
            {
                ans.push_back(pre[j]+pre[j-1]);
            }
            ans.push_back(1);
        }
        return ans;
    }
};
View Code

 

posted on 2019-07-05 18:08  ltx_zero  阅读(159)  评论(0编辑  收藏  举报