[leetcode] 球会落何处 模拟

Posted PushyTao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[leetcode] 球会落何处 模拟相关的知识,希望对你有一定的参考价值。


给出一个矩阵,里面的值为-1 or 1
-1的时候是从左上到右下,1的时候是从左下到右上
当一个球从上方x(0 < x < m)放入之后,从哪个出口掉落还是无法从出口掉落

能通过的情况为:

  1. / / 即某条线为’/’,其左边的线也是’/’,箭头所指为当前斜线
      \\  
  2. \\ \\ 即当前线为’’,其右边的线也是’’,箭头所指为当前斜线

    但是还要注意边界问题

Code:

class Solution 
public:
    vector<int> findBall(vector<vector<int>>& grid) 
        int n = grid.size(), m = grid[0].size();
        vector<int> ans;
        for(int i = 0; i < m;i ++) 
            int x = 0,y = i;
            while(x < n && y >= 0 && y < m) 
                if(y >= 1 && grid[x][y] == grid[x][y-1] && grid[x][y] == -1)  //  '/'
                    ++ x;
                    -- y;
                else if(y < m - 1 && grid[x][y] == grid[x][y+1] && grid[x][y] == 1)  //  '\\'
                    ++ x;
                    ++ y;
                
                else break;
            
            if(x == n) ans.push_back(y);
            else ans.push_back(-1);
        
        return ans;
    
;

以上是关于[leetcode] 球会落何处 模拟的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 917. 仅仅反转字母 / 1706. 球会落何处 / 537. 复数乘法

五月集训(第28天) —— 动态规划

LeetCode 819 最常见的单词[Map 模拟] HERODING的LeetCode之路

LeetCode 山羊拉丁文[模拟 字符串] HERODING的LeetCode之路

LeetCode 482 秘钥格式化[模拟 字符串] HERODING的LeetCode之路

LeetCode 856 括号的分数[栈] HERODING的LeetCode之路