import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param obstacleGrid char字符型ArrayList<ArrayList<>>
* @return int整型
*/
public int uniquePathsWithObstacles (ArrayList<ArrayList<Character>> obstacleGrid) {
// write code here
int m=obstacleGrid.size();
// System.out.print(m);
int n=obstacleGrid.get(0).size();
// System.out.print(n);
if(obstacleGrid.get(0).get(0)=='#'||obstacleGrid.get(m-1).get(n-1)=='#'){
return 0;
}
int[][] dp=new int[m][n];
for(int j=0;j<n&&obstacleGrid.get(0).get(j)!='#';j++){
dp[0][j]=1;
}
for(int i=0;i<m&&obstacleGrid.get(i).get(0)!='#';i++){
dp[i][0]=1;
}
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
if(obstacleGrid.get(i).get(j)=='#'){
dp[i][j]=0;
continue;
}
dp[i][j]=(dp[i - 1][j] + dp[i][j - 1]);
}
}
System.out.println(dp[m-1][n-1]);
return dp[m-1][n-1];
}
}
写这篇题解就是为了吐槽,我真是服了,题干说的是1可以走,0不可以走。
但实际传参是字符类型,也不说明实际是“#”表示不可以走,
提交了好多次都不通过,想要看看是哪条用例不通过,点击查看用例,弹出个“不支持对比”的弹窗,是什么鬼
最后还是把题目框拉到最大,才在一群A中看出来了个'#'

京公网安备 11010502036488号