阿里笔试贴代码大家来找茬
第一题:40%
dp为什么没过我也是不能理解,求大神指导 路人可以围观评论🤣
private static int getMinimumTimeCost(int n, int[][] area) { if(n == 1) { return 0; } int res = Integer.MAX_VALUE; if(n == 2) { for(int i=0;i<n;i++) { if(area[1][i] < res) { res = area[1][i]; } } return res; } int[][] dp = new int[n][n]; for(int i=2;i<n;i++) { for(int j=0;j<n;j++) { if(i == n - 1 && i % 2 == 1) { // 奇数终点 dp[i][j] = dp[i-1][j] + area[i][j]; } if(i == n -1 && i % 2 == 0) { // 偶数终点 dp[i][j] = dp[i-2][j] + area[i-1][j]; } if(i % 2 == 1) { continue; } if(j == 0 || j == 1) { dp[i][j] = dp[i-2][j] + area[i-1][j]; }else { dp[i][j] = Math.min(dp[i-2][j] + area[i-1][j], dp[i][j-2] + area[i][j-1]); } } } for(int i=0;i<n;i++) { if(dp[n-1][i] < res) { res = dp[n-1][i]; } } return res; }第二题就算了,感觉题都没看明白,直接弃疗