//第一题 int res; public int maximumTotal(int[][] triangle){ if(triangle.length == 0){ return 0; } traverse(triangle,0,0); return res + triangle[0][0]; } public int traverse(int[][] triangle, int i, int j){ if(i >triangle.length - 1 || j > triangle[i].length || i < 0 || j < 0){ return 0; } int left = traverse(triangle,i + 1,j); int right = traverse(triangle,i + 1,j + 1); int maxVal = Math.max(left,right); res = Math.max(res,Math.max(left,right)); return maxVal + triangle[i][j]; }
点赞 评论

相关推荐

01-23 19:12
门头沟学院 Java
榨出爱国基因:你还差 0.1% 就拿到校招礼盒,快叫朋友给你砍一刀吧
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客企业服务