欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

leetcode1706.球会落何处C++

时间:2023-04-25
链接:

https://leetcode-cn.com/problems/where-will-the-ball-fall/

描述:



代码:

class Solution {public: int DFS(vector>& grid,int i,int j) { int row = grid.size(); int col = grid[0].size(); if(i == row) return j; if(grid[i][j] == 1) { if(j == col-1 || grid[i][j+1] == -1) return -1; return DFS(grid,i+1,j+1); } else { if(j == 0 || grid[i][j-1] == 1) return -1; return DFS(grid,i+1,j-1); } } vector findBall(vector>& grid) { int row = grid.size(); int col = grid[0].size(); vector ret(col,-1);//创建返回数组 for(int j = 0;j

代码分析:

当一个小球落在某个位置时
当当前位置是1时,那么他会想向右下移动,
如果他的右边也是1,那么他的下一层地址就是i+1,j+1
如果他的右边是-1或者是墙时,那么他就不会到达下一层

同理:
当当前位置是-1时,那么他会想向坐下移动
如果他的左边是-1,那么他的下一层地址就是i+1,j-1
如果他的左边是1,或者是墙时,那么他就不会到达下一层

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。