//第一题 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]; }
点赞 评论

相关推荐

头像 会员标识
09-10 17:21
牛客_运营/测试
求求给个offer我...:笑死了,笑完过了几分钟感觉挺可悲的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务