全部评论
两个题目都100 第一题:当前到达的位置记录max(左边/上面奶酪+当前位置奶酪)最后一排找出最大值排除最后一个。 第二题:emm,arr[i]+arr[left]+arr[r] i=0开始 left=i+1开始r=arr.length-1 判断是否递增,是的话记录最大值
第一个就动态规划,lettcode上有类似的,不过最后一行留下,手动判别, 第二个就暴力for ,最好使,在第二层的时候把前两个数进行判断如果大小不对,就continue; 效率上我觉得查不了太多。虽然不好看
100,64
第二题我自己测试用例都没问题,为啥放进去就只有9%...................😥
第二题有人交流下吗,教教我
第二题有没有非暴力解?学习一下
就我输入输出有问题吗😡
「老鼠吃奶酪」,自己写的,欢迎交流,这个问题我的理解是三角形看成是一颗可以向右向左查找的二叉树,只能向右向左搜索,递归就完事了,思路来元素「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]; } }
有兄弟进面了吗
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享


点赞 评论 收藏
分享
03-22 22:51
北京邮电大学 Java 点赞 评论 收藏
分享