首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
佛系的王者在春招
哈尔滨理工大学 移动开发
发布于北京
关注
已关注
取消关注
求点赞 收藏 关注哈 更多算法题更新中
@佛系的王者在春招:
华为OD机试统一考试D卷 - 分配土地
题目描述从前有个村庄,村民们喜欢在各种田地上插上小旗子,旗子上标识了各种不同的数字。某天集体村民决定将覆盖相同数字的最小矩阵形的土地分配给村里做出巨大贡献的村民,请问此次分配土地,做出贡献的村民种最大会分配多大面积?输入描述第一行输入 m 和 n,m 代表村子的土地的长n 代表土地的宽第二行开始输入地图上的具体标识输出描述此次分配土地,做出贡献的村民种最大会分配多大面积备注旗子上的数字为1~500,土地边长不超过500未插旗子的土地用0标识用例1输入3 31 0 10 0 00 1 0输出9说明土地上的旗子为1,其坐标分别为(0,0),(2,1)以及(0,2),为了覆盖所有旗子,矩阵需要覆盖的横坐标为0和2,纵坐标为0和2,所以面积为9,即(2-0+1)*(2-0+1)= 9用例2输入3 31 0 20 0 00 3 4输出1说明由于不存在成对的小旗子,故而返回1,即一块土地的面积。Javaimport java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 土地的长和宽 int m = scanner.nextInt(); int n = scanner.nextInt(); // 二维数组存储土地上的标识 int[][] land = new int[m][n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { land[i][j] = scanner.nextInt(); } } // 哈希表存储每个数字的最小和最大位置 Map<Integer, int[]> minPos = new HashMap<>(); Map<Integer, int[]> maxPos = new HashMap<>(); // 遍历每块土地,更新每个数字的最小和最大位置 for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { int num = land[i][j]; if (num != 0) { if (!minPos.containsKey(num)) { minPos.put(num, new int[]{i, j}); maxPos.put(num, new int[]{i, j}); } else { minPos.get(num)[0] = Math.min(minPos.get(num)[0], i); minPos.get(num)[1] = Math.min(minPos.get(num)[1], j); maxPos.get(num)[0] = Math.max(maxPos.get(num)[0], i); maxPos.get(num)[1] = Math.max(maxPos.get(num)[1], j); } } } } // 初始化 int maxArea = 0; // 遍历每个数字,计算其对应的面积,并更新最大面积 for (Integer num : minPos.keySet()) { int[] min = minPos.get(num); int[] max = maxPos.get(num); int area = (max[0] - min[0] + 1) * (max[1] - min[1] + 1); maxArea = Math.max(maxArea, area); } // 打印最大面积 System.out.println(maxArea); scanner.close(); }}C++贪心#include<bits/stdc++.h>using namespace std;struct ST{ int x_l = -1; int x_r = 501; int y_h = 501; int y_l = -1; int cnt;};int main(){ int m,n; cin>>m>>n; vector<vector<int>> mp(m,vector<int>(n)); map<int,ST> dic; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ cin>>mp[i][j]; if(mp[i][j] == 0) continue; dic[mp[i][j]].cnt++; if(i>dic[mp[i][j]].x_r || dic[mp[i][j]].x_r == 501) dic[mp[i][j]].x_r = i; if(i<dic[mp[i][j]].x_l || dic[mp[i][j]].x_l == -1) dic[mp[i][j]].x_l = i; if(j>dic[mp[i][j]].y_h || dic[mp[i][j]].y_h == 501) dic[mp[i][j]].y_h = j; if(j<dic[mp[i][j]].y_l || dic[mp[i][j]].y_l == -1) dic[mp[i][j]].y_l = j; } } int res = 0; for(auto x:dic){ if(x.second.cnt == 1){ res = max(res,1); continue; } int chang = (x.second.x_r - x.second.x_l+1); int kuan = (x.second.y_h - x.second.y_l+1); res = max(res,chang*kuan); } cout<<res<<endl;}
点赞 2
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
不愿透露姓名的神秘牛友
05-29 22:21
社招Offer选择:小马智行、追觅科技
Offer1:小马智行,深圳,测试开发工程师,17.0k*16.0,Offer2:追觅科技,深圳,嵌入式工程师,18.0k*15.0,
嵌软狗都不学:
各位base深圳的同事,作为也是并肩作战的一员,今天想站在管理视角,和大家开诚布公地聊一聊:从近几个月的上下班数据对比看来,我们发现一个明显的差异:深圳同事的在岗时间普遍比苏州同事短。很多深圳同事早上9点之后才到公司,晚上不到 20 点就下班了;而总部那边,20点半甚至 22 点后还有不少同事在办公室忙碌,特别是研发团队,加班更是常态。相信去过苏州的同事,对这种场景都不陌生。我很好奇,这是因为苏州工作任务太重还是咱们深圳同事效率真的高到能在更短时间内完成工作?MOVA在深圳成立分公司是为了吸引更优秀的人才贡献更多更高质的价值,公司管理层给我反馈的是深圳招到的多是行业的专家大拿,大部分都是薪资比苏州高的,而且我们办公的租金等也远高于苏州的..MOVA虽脱胎于强壮的集团母体不久,各业务板块尚未实现全面盈利,虽说公司管理层目光长远,不纠结当下的人才投入,但行业内的普遍标准是,员工创造的价值要达到公司雇佣成本的 15 倍以上。大家不妨自我审视一下,自己是否达到了这个标准?如果是抱着划水、按时打卡走人拿毛爷爷的心态那不适合来MOVA,那样过下去不但自己过得尴尬也会影响MOVA这个大船的攻城略地的速度.我并非鼓励大家盲目加班,而是倡导高效工作,拒绝无效忙碌,不要让项目进度因低效受影响,也别把精力浪费在和苏州同事拼打卡时长上,提倡更高的人效比;考虑到两地地域和交通差异,相信大家会找最适合自己发挥的工作方式(比如按时下班后1小时到家晚饭后继续未竟工作等..)大家在遵守公司规章的情况下尽情地体现自己的能力价值,为MOV!和深圳公司争光我们在这边才能更安心更有信心的工作下去;请客BU长、名部门长、项目管理和各业务单元负责人,全面梳理团队情况,及时评估成员工作负荷与成果质量,坚决清退划水害虫痕疫,践行公司价值观,相互监督,防止管理漏洞及渎职。感谢人家的理解,也请人家多担待我的直言不讳……
点赞
评论
收藏
分享
05-28 21:31
Java
学习Java有点迷茫,求指导
鼠鼠大二,目前,javase,javaweb,javaee,jdbc都学完了,现在在学spring。请问学这些技术是现在要花时间学深,再做项目,还是说学个大概,然后立马开始做项目呢?求指导,可怒批,狠狠批评,心理承受能力强
牛客解忧铺
点赞
评论
收藏
分享
04-29 09:39
东北石油大学 光学工程师
麻烦大佬们看看我的简历
我的本硕都是双非大学,暑期实习投了四五十了,只收到了1个面试,请问我的简历需要怎么改一下
牛客940372129号:
你确定政治面貌那写对了?
点赞
评论
收藏
分享
04-05 18:26
蚌埠坦克学院 golang
有点难绷
遂发牛牛空间
喜欢疯狂星期四的猫头鹰在研究求职打法:
短作业优先
点赞
评论
收藏
分享
05-25 21:42
哈尔滨工业大学
Git:面试官喜欢问什么
Git 是现代软件开发中最重要的版本控制工具之一,尤其在团队协作、代码管理、持续集成等场景中扮演核心角色。以下是对 Git 相关面试题高频关键词的统计分析,帮助你把握重点内容和复习方向。📊 一、关键词分布概览(按占比排序)1. Git 命令相关命令、git指令、指令、常用操作、提交代码、切换分支等18.60% + ... ≈ ~35%2. rebase vs mergerebase、merge、合并分支、冲突处理10.47% + 7.56% + ... ≈ ~20%3. 冲突解决冲突、git冲突、代码冲突、解决冲突、解决方法2.76% + 1.31% + 1.02% + 0.87% × 2 ...
30万真题,揭秘面试官最...
面试之前应该如何准备?
面试常问题系列
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
这次是真的告别了!
1.0W
2
...
极限春招小结
1.0W
字节暑期补捞
热聊中
3
...
上午拍毕业照,下午拍结婚照!牛友祝福我们吧!
9485
4
...
本科四年,我决定在即将毕业时转行
9201
5
...
亲爱的公司,你好!
7253
6
...
找工作找到厌倦了,晒一下毕业照吧!
7215
7
...
28届学院本女生走java中~
6376
8
...
极限春招一个月总结
5833
9
...
以为走散了,命运却又把我们安排到一起
5197
10
...
毕业以后还有纯爱吗?
5012
创作者周榜
更多
正在热议
更多
#
写给毕业5年后的自己
#
4145次浏览
95人参与
#
毕业季等于分手季吗
#
14323次浏览
165人参与
#
华泰证券Fintech星战营
#
168325次浏览
191人参与
#
职场捅娄子大赛
#
319115次浏览
3262人参与
#
好好告别我的学生时代
#
43054次浏览
831人参与
#
华为求职进展汇总
#
4644992次浏览
28246人参与
#
海信求职进展汇总
#
65005次浏览
359人参与
#
机械制造岗投递时间线
#
22254次浏览
341人参与
#
晒一下我的毕业照
#
32593次浏览
356人参与
#
如何缓解求职过程中的焦虑?
#
7449次浏览
97人参与
#
如果今天是你的last day,你会怎么度过?
#
22706次浏览
197人参与
#
HR问:你期望的薪资是多少?如何回答
#
40070次浏览
525人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
108270次浏览
782人参与
#
晒晒我司的端午福利
#
14856次浏览
99人参与
#
记录实习开销
#
26495次浏览
193人参与
#
如果重来一次,你还会学计算机吗
#
46870次浏览
417人参与
#
我想象的实习vs现实的实习
#
280314次浏览
2214人参与
#
上班苦还是上学苦呢?
#
222827次浏览
1329人参与
#
工作两年想退休了
#
119913次浏览
1120人参与
#
视觉/交互/设计百问百答
#
43208次浏览
427人参与
#
实习生如何通过转正
#
84974次浏览
1326人参与
牛客网
牛客企业服务