首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
还没有回复哦~
相关推荐
02-11 15:46
OPPO_人力资源部_人事专员(准入职员工)
OPPO内推OPPO面经
oppo二面1自我介绍2本科有参加项目或者比赛吗?3展开讲解一下硕士学位论文。课题目前什么进度?现有算法缺陷是什么,用人工智能做是创新点吗,怎么想到的?需要做实物吗?这个研究是理论封存还是有实际的工程价值,有相关的项目背景吗?做项目或者科研,刚开始拿到项目时,有会给自己定更高的指标的情况吗?加工误差在实际过程中怎么解决的?4经历偏天线,从个人发展来说,你怎么看天线射频领域?5本科,硕士学习中有遇到让你挫败感的事情吗?6项目是个人做的吗,还是一个团队做的?7最近一年除了毕设,有对生活学习有什么规划吗?8有了解oppo的一些产品吗?oppo hr面1自我介绍2为什么应聘oppo,对oppo的了解。...
OPPO
|
校招
|
超多精选岗位
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
02-12 21:55
特斯拉-财务实习-面经
1、请先做一个简单的自我介绍。2、分享一个能展现你沟通能力的实际例子。3、面对重复性工作,你会采取怎样的态度和方法?4、要是遇到不配合的部门,你打算如何处理?5、在数据核对时,你怎样进行检查?有没有反复修改的情况?6、抽凭过程中遭遇过什么问题?你是如何解决的?7、谈谈你对财务数字化转型的看法。8、实习经历里,你碰到的最大困难是什么?9、你对财务风险防控有什么了解?10、反问环节
查看9道真题和解析
点赞
评论
收藏
分享
2024-12-23 06:50
门头沟学院 Java
好震惊
给点吧求求了:
3点发的帖子,害怕😰
点赞
评论
收藏
分享
01-18 09:26
已编辑
门头沟学院 Java
简历求拷打,不玻璃心
投票
#投票##牛客帮帮团来啦!有问必答##简历互助点评#
王桑的大offer:
建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
牛客帮帮团来啦!有问必答
点赞
评论
收藏
分享
02-14 15:48
深信服_远程技术服务工程师(准入职员工)
深信服内推深信服面经
深信服线下面经岗位:Java开发一面50min1、手撕单例模式的两种实现(a4纸上手写)2、Java中static变量的显式初始化发生在什么阶段?3、60亿条32位整数数据,求某个重复出现的数字?4、20个球队,5个篮球场,每个篮球场每天只能被使用一次,问如何安排比赛能够在比较短的天数内求出前三名(假设每支队伍的表现是稳定的,也就是说每支队伍都有一个厉害程度的值,只是你不知道这些值)5、手撕算法:给定一个字符串,你可以对这个字符串进行任意次数的分割,要求分割完后的所有字符串都是回文串,求最小分割次数(a4纸手写)二面50min1、项目拷打2、给定一张表,做增量同步,有哪些实现方法?3、Linu...
深信服
|
校招
|
14个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
985计算机老学长掏心窝子:当年我踩过的坑,希望你们能绕开
1.8W
2
...
想要在大厂生存必须要学会提效
4955
3
...
字节飞书后端面试
4948
4
...
腾讯实习基地-ieg-Level Infinite-一面
3478
5
...
2.17校招&实习招聘信息汇总
3412
6
...
重生归来,鼠鼠接手北区业务,这一次......
3288
7
...
实习入职第一天,应该做点啥❓
3118
8
...
腾讯-后台开发-腾讯hr部门 一面
3087
9
...
实习第二天,被老员工欺负了
2848
10
...
面试汇总
2406
创作者周榜
更多
正在热议
更多
#
读研or工作,哪个性价比更高?
#
23998次浏览
324人参与
#
科大讯飞求职进展汇总
#
258829次浏览
2594人参与
#
如果重来一次你还会读研吗
#
154343次浏览
1691人参与
#
秋招感动瞬间
#
10694次浏览
101人参与
#
阿里巴巴创始人马云回国
#
14084次浏览
87人参与
#
你最满意的offer薪资是哪家公司?
#
11803次浏览
109人参与
#
职场新人生存指南
#
195019次浏览
5370人参与
#
文科生还参加今年的春招吗
#
3282次浏览
29人参与
#
长光卫星求职进展汇总
#
27562次浏览
183人参与
#
选择和努力,哪个更重要?
#
41891次浏览
471人参与
#
招聘要求与实际实习内容不符怎么办
#
40652次浏览
465人参与
#
打工人的工作餐日常
#
24685次浏览
221人参与
#
机械制造岗投递时间线
#
19304次浏览
324人参与
#
机械人选offer,最看重什么?
#
68550次浏览
433人参与
#
影石Insta360求职进展汇总
#
107580次浏览
968人参与
#
机械人怎么评价今年的华为
#
180282次浏览
1484人参与
#
如果再来一次,你还会学硬件吗
#
102713次浏览
1232人参与
#
正在实习的你,有转正机会吗?
#
336125次浏览
2690人参与
#
如果公司降薪,你会跳槽吗?
#
44449次浏览
349人参与
#
滴!实习打卡
#
554169次浏览
6003人参与
牛客网
牛客企业服务