墨奇科技8.14笔试(这是给人做的题的吗?)

第一题 给出一个3乘3矩阵 然后去掉中间那个数 问你填哪个数可以让 矩阵里 行 列 两个对角 这些包含的等差数列最多。模拟A了

第二题 第三题 狗带 我连题都不想再看一遍#秋招#
全部评论
我做的成都的 ,Java 后端  ,和你们的题型不一样  , 但是有一道血型检测的  原题mother写成了 motonr (这个不重要) 牛客有原题  但是不管怎么写都过不去  真的是绝了,,,,,, [编程题]5-血型遗传检测
1 回复 分享
发布于 2022-08-14 22:40
代码供参考 其中长度为4的填充数组的四个数字分别取中间元素所在的行 列 两条对角线元素的 中间值 (使全体等差数列最大只能从这四个出) package mianshi.墨奇; import java.util.Enumeration; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for(int i=1;i<=T;i++){ int ans =0; int [][] matrix = new int[3][3]; int min =Integer.MAX_VALUE; int max = Integer.MIN_VALUE; for(int j=0;j<3;j++){ for(int k=0;k<3;k++){ if(j==1 && k==1) continue; matrix[j][k] =sc.nextInt(); } } int []tianchong = new int[4]; tianchong[0] = (matrix[1][0] +matrix[1][2])/2; tianchong[1] = (matrix[0][1] +matrix[2][1])/2; tianchong[2] = (matrix[0][0] +matrix[2][2])/2; tianchong[3] = (matrix[2][0] +matrix[0][2])/2; for(int j : tianchong){ int sum =0; matrix[1][1] = j; for(int k=0;k<3;k++){ if(matrix[k][1]-matrix[k][0] == matrix[k][2]-matrix[k][1]) sum++; } for(int k=0;k<3;k++){ if(matrix[1][k]-matrix[0][k] == matrix[2][k]-matrix[1][k]) sum++; } if(matrix[1][1]-matrix[0][0] == matrix[2][2]-matrix[1][1]) sum++; if(matrix[2][0] - matrix[1][1] == matrix[1][1] - matrix[0][2]) sum++; ans = Math.max(ans,sum); } System.out.println("Case #"+i+": "+ans ); } } }
1 回复 分享
发布于 2022-08-14 22:25
我a了1和3,第二题a了一般,第二题真的看了老半天还是不太能理解题意
点赞 回复 分享
发布于 2022-08-17 20:34 福建
真的有难度
点赞 回复 分享
发布于 2022-08-16 13:28
大家都a了多少啊
点赞 回复 分享
发布于 2022-08-15 10:26
楼主,为什么我模拟的下来一个没过。但是测试用例和手动构建的都正确啊,想不懂哪里出问题了😅
点赞 回复 分享
发布于 2022-08-14 22:19
等差数列为什么是0,不就是找对位和相同最多的那个,然后剩下两行两列吗,一直是0
点赞 回复 分享
发布于 2022-08-14 22:11

相关推荐

牛客33727151号:不是哥们我以为驾照是段子呢
点赞 评论 收藏
分享
牛客10001:问就是六个月,全国可飞,给钱就干
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客企业服务