sourcecode

Sunday, December 9, 2012

Pascal's Triangle I


Pascal's Triangle
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) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        vector<vector<int> > result;
        if (numRows < 1) return result;
        result.push_back(vector<int>(1,1));//first row (result[0])
        result.resize(numRows);
        for(int ii = 1; ii < numRows; ++ii){
            result[ii].resize(ii+1);
            result[ii][0] = 1;
            result[ii][ii] = 1;
            for(int jj = 1; jj < ii; ++jj){
                result[ii][jj] = result[ii-1][jj-1] + result[ii-1][jj];
            }
        }
        return result;
    }
};

No comments: