# Segmentation Fault [Runtime Error]

#1

I am getting segmentation fault for this trivial solution. I am not able to figure out where is the problem.

`````` vector<int> Solution::getRow(int A) {
vector<vector <int>> res(A);
vector<int> ans;
for(int i=0; i<=A; i++)
for(int j=0; j<=i; j++)
res[i].push_back(1);

for(int i=2; i<=A; i++)
for(int j=1; j<i; j++)
res[i][j]= res[i-1][j] + res[i-1][j-1];

for(int i=0; i<=A; i++)
ans[i] = res[A][i];

return ans;
// OR
// return res[A];
}
``````

Thank you for your time and help.

#3

In the 1st, 2nd & 3rd for-loop (in 1st and 2nd where you check the value of ‘i <= A’ & in 3rd where you ‘ans[i] = res[A][i];’), you are trying to access ‘res[A]’ position in the vector, which is out of range of the vector (since the last position int vector is ‘res[A - 1]’. Furthermore, in the 3rd loop you are trying to assign vector ‘ans’ by ‘ans[i] = res[A][i];’ which will also lead to error since ans can’t be accessed this way as it is still empty, you should use the ‘push_back()’ function like you used in the 1st loop, like ‘ans.push_back(res[A - 1][i]);’.

Also, your current method might exceed the time limit (as it is O(n^2)), try to use the other method for calculating pascal i.e. with combination formula ( nCr = n! / ((n - r)! * r!) ). It will run with faster.