「老鼠吃奶酪」,自己写的,欢迎交流,这个问题我的理解是三角形看成是一颗可以向右向左查找的二叉树,只能向右向左搜索,递归就完事了,思路来元素「LeetCode 542 二叉树直径」 import java.util.Scanner; // 老鼠与奶酪 public class Main { static int q = 0; // 记录列数 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int r = scan.nextInt(); int[][] matrix = new int[r][r]; scan.nextLine(); for (int i = 0; i < r; i++) { for (int j = 0; j <= i; j++) { matrix[i][j] = scan.nextInt(); } } int search = search(matrix, 0, 0, r - 2); System.out.println(search + matrix[r - 1][q]); } public static int search(int[][] matrix, int i, int j, int r){ if( i > r || j > r || j < 0 || i < 0 || matrix[i][j] == 0){ return 0; } q = j; // 更新j int right = search(matrix, i, j + 1, r); // 向右搜索 int left = search(matrix, i + 1, j, r); // 向下搜索 return Math.max(right, left) + matrix[i][j]; } }
点赞 2

相关推荐

牛客网
牛客企业服务