题解 | #不同路径的数目(二)#动态规划
不同路径的数目(二)
https://www.nowcoder.com/practice/2bbfd075fbde4884b9da80634e1cae7c
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中看出来了个'#'
#java#