public class Solution {
public int UniquePaths(int m, int n) {
var row = new int[n];
Array.Fill(row, 1);
foreach (var i in Enumerable.Range(0, m - 1))
{
var newRow = new int[n];
Array.Fill(newRow, 1);
for (int j = n - 2; j >=0; j--)
{
newRow[j] = newRow[j + 1] + row[j];
}
row = newRow;
}
return row[0];
}
}