2021.09.24 金山 金山云 笔试算法题统计


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

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 10:56
点赞 评论 收藏
转发
1 3 评论
分享
牛客网
牛客企业服务