感觉自己太傻了,开始用递归做的,结果超时,然后开始改成DP。结果没时间了。最后我的DP代码如下,大神们看看有没有错,可惜没办法检测了。 public static int dpSoution(int row,int col,int[][] array){ int max=0; int[][] dp=new int[row][col]; for(int i=0;i<row;i++){ for(int j=0;j<col;j++){ if(i==0&&j==0){ dp[i][j]=array[0][0]; }else if(i==0){ dp[i][j]=dp[i][j-1]+array[i][j]; }else if(j==0){ dp[i][j]=dp[i-1][j]+array[i][j]; }else{ int tmp=dp[i][j-1]>dp[i-1][j]?dp[i][j-1]:dp[i-1][j]; dp[i][j]=tmp+array[i][j]; } if(dp[i][j]<max) max=dp[i][j]; } } int result=-max+1; return result; }
点赞 13

相关推荐

点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务