您的位置:首页 > 其它

Pascal's Triangle - LeetCode

2014-10-27 18:43 465 查看
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,

Return
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

class Solution {
public:
    vector<vector<int> > generate(int numRows) {
        vector<vector<int>> Triangle;
	    vector<int> result;
        if (numRows == 0)
        {
		    return Triangle;
	    }
	    result.push_back(1);
	    Triangle.push_back(result);
	    int temp;
	    int k;//下标
	    int r;
	    for (r = 1; r <= numRows - 1; r++)
	    { 
	    	result.clear();
	    	int rfirst = (r + 1) * r / 2;
	    	int rlast = rfirst + r;
		    for(k = rfirst; k <= rlast; k++)
		    {
		    	if (k == rfirst || k == rlast)
		    	{
		    		temp = 1;
		    	}
		    	else
		    	{
		    		temp = Triangle[r - 1][k - rfirst - 1] + Triangle[r - 1][k - rfirst];
		    	}
	    		result.push_back(temp);
	    	}
	    	Triangle.push_back(result);
	       }

	    return Triangle;
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: