首页 > 代码库 > leetcode-unique paths 2
leetcode-unique paths 2
The feeling of depending on oneself and AC is just great.
1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 class Solution { 5 public: 6 int uniquePathsWithObstacles(vector<vector<int> > &obstacleGrid) { 7 vector<vector<int>> d(obstacleGrid.size(), vector<int>(obstacleGrid[0].size(), 0)); 8 for (int i = 0; i < d.size(); i++) 9 {10 if (obstacleGrid[i][0] != 1)11 d[i][0] = 1;12 else break;13 }14 for (int i = 0; i < d[0].size(); i++)15 {16 if (obstacleGrid[0][i] != 1)17 d[0][i] = 1;18 else break;19 }20 for (int i = 1; i < obstacleGrid.size(); i++)21 {22 for (int j = 1; j < obstacleGrid[i].size(); j++)23 {24 if (obstacleGrid[i][j] != 1)///////////////////////////////////////25 {26 d[i][j] = d[i - 1][j] + d[i][j - 1];27 }28 //cout << d[i][j] << " ";29 }30 //cout << endl;31 }32 return d[obstacleGrid.size()-1][obstacleGrid[0].size()-1];33 }34 };35 int main()36 {37 Solution s;38 vector<vector<int>> obstacleGrid;39 int a0[] = { 0, 0, 0 };40 int a1[] = { 0, 1, 0 };41 int a2[] = { 0, 0, 0 };42 obstacleGrid.push_back(vector<int>(a0, a0 + 3));43 obstacleGrid.push_back(vector<int>(a1, a1 + 3));44 obstacleGrid.push_back(vector<int>(a2, a2 + 3));45 46 //print vector<vector<int>>47 //for (int i = 0; i < obstacleGrid.size(); i++)48 //{49 // for (int j = 0; j < obstacleGrid[i].size(); j++)50 // {51 // cout << obstacleGrid[i][j]<<" ";52 // }53 // cout << endl;54 //}55 cout << s.uniquePathsWithObstacles(obstacleGrid) << endl;56 return 0;57 }
leetcode-unique paths 2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。