【3月6日】2026届华为秋招校招机试软件开发代码编程题目+题解+在线测试三道原题详解-最小距离和圣诞节礼盒和基站的盈利问题(Java  JS  Python  C))
第1题-最小距离和题目内容每天早晨环卫工人需要处理各个小区的生活垃圾每个小区的生活垃圾由一队坏卫工人负责运送到最近的垃圾回收站进行处理求将所有小区垃圾送到垃圾回收站的最小距离和。假设小区和垃圾回收站都在都在一个行 列的区域矩阵上相邻点的距离为只能上下左右移动;其中表示垃圾处理站表示小区表示空白区域表示障碍区域不可通行。区域内如果没有小区或者没有垃圾回收站则最小距离和返回。无法到达垃圾回收站的小区会单独处理不计入本次距离和中。计算所有小区垃圾送到垃圾回收站的最小距离和。输入描述第一行为两个数字和的和表示区域矩阵的行数和列数中间使用空格分隔和的范围均为。接下来的行表示一个的区域矩阵数组每行的元素间以空格分隔其中元素取值仅为(障碍区域)、(垃圾处理站)、(小区)、(空白区域)。输出描述一个整数表示所计算的最小距离和。样例1输入4 4 1 2 -1 1 2 0 2 0 2 2 -1 2 1 2 1 1输出11说明如图所示位置、、、、是小区位置、是垃圾站位置、是障碍无法通行个小区个垃圾站小区到垃圾站的最小路径是。对于位置的小区可以将垃圾运送到垃圾站、两者的距离是一样的。题解图示仅以到垃圾站进行说明。样例2输入2 3 0 -1 1 1 -1 2输出1说明图2如图所示位置、小区位置是垃圾站位置、是障碍无法通行个小区个垃圾站小区到垃圾站的最小路径是。思路广度优先搜索将所有垃圾站的距离初始化为0并加入队列中。用广度优先搜索算法逐层向外扩展并用一个额外数组记录到达每个点的最短距离。如果一个点有值说明某一个垃圾站离该点更近则不在使用当前点进行该方向的扩展。最后扫描所有小区累加它们的值即可。不可到达的小区值为0。代码Pythonfrom collections import deque def init(): n , m map(int , input().split()) a [list(map(int, input().split())) for _ in range(n)] return n, m, a def solve(n, m, a): b [[0] * m for _ in range(n)] q deque() # 初始化队列将所有 0 的位置加入队列 for i in range(n): for j in range(m): if a[i][j] 0: q.append((i, j, 0)) # (x, y, current_distance) dx [0, 0, -1, 1] dy [1, -1, 0, 0] while q: x, y, now q.popleft() for i in range(4): nx, ny x dx[i], y dy[i] # 检查边界 if nx 0 or nx n or ny 0 or ny m: continue if b[nx][ny] ! 0: continue if a[nx][ny] -1: continue b[nx][ny] now 1 q.append((nx, ny, now 1)) # 计算总和 total_sum 0 for i in range(n): for j in range(m): if a[i][j] 1: total_sum b[i][j] print(total_sum) if __name__ __main__: n, m, a init() solve(n, m, a)第2题-圣诞节礼盒题目内容圣诞节到了小塔的妈妈准备了很多圣诞礼盒礼盒大小不同小塔在玩堆盒子的游戏妈妈问小塔怎么堆盒子使得堆出的高度最高每个礼盒的大小由长、宽、高表示堆盒子的时候要求下面的盒子长、宽、高都必须大于上面的盒子不包含等于。请你帮助小塔一起堆出最高的一堆礼盒高度为堆出的礼盒的所有高度的总和。输入描述输入的第一行是礼盒的个数接下来输入行每行表示每个礼盒的长、宽、高。礼盒的数量不超过个每个盒子的长、宽、高取值范围为~。输出描述输出一行输出能堆出盒子的最高高度样例1输入4 1 1 1 2 3 4 3 6 7 4 5 6输出12说明选择、、个盒子堆出的高度最高样例2输入4 1 1 1 1 1 1 2 2 2 2 2 2输出3说明其中的一种选择方式为选择和两个盒子堆出的高度最高为思路动态规划将所有盒子按照长、宽、高的三个优先级进行从小到大的排序那么后面的盒子一定不可能放在前面盒子的上面。定义表示放上第个盒子所能达到的最大高度则有答案为代码C#include bits/stdc.h using namespace std; const int maxn1e310; int dp[maxn]; int n; struct node{ int l, w, h; }box[maxn]; int main(){ std::ios::sync_with_stdio(false); cinn; for(int i1;in;i){ cinbox[i].lbox[i].wbox[i].h; } sort(box1, boxn1, [](node a, node b){ if(a.l!b.l){ return a.lb.l; } if(a.w!b.w){ return a.wb.w; } return a.hb.h; }); int ans0; for(int i1;in;i){ dp[i]box[i].h; for(int j1;ji;j){ if(box[i].hbox[j].hbox[i].lbox[j].lbox[i].wbox[j].w){ dp[i]max(dp[i],dp[j]box[i].h); } } ans max(ans,dp[i]); } coutans; return 0; }其他语言见华为题库的题解区第3题-基站的盈利问题题目内容有个基站采用链式组网按照从左到右编码为到编号。已知定义“业务”概念为三元组(基站起始编号基站结束编号利润)意味着需要占据基站起始编号到基站结束编号的所有基站打通信号流可以获得对应利润。现在外部存在多个“业务需求待接纳但基站使用具有排他性也就是说一旦某一个业务占据某个基站其他业务不可以再使用此基站。那么接纳哪些业务需求可以使得利润最大化?输入描述第一行输入表示有个基站。取值范围第二行输入表示有组业务。,M取值范围接下来行每行输入三个整数 以空格隔开表示起始基站编号结束基站编号利润。取值范围输出描述输出只有一个整数表示获取的利润样例1输入5 2 1 5 4 2 4 8输出8说明样例2输入5 2 1 5 4 2 4 1输出4说明已经使用过到不能再使用的样例3输入20 6 1 6 1 3 10 2 10 12 3 11 12 2 12 15 2 13 18 1输出5说明我们可以这么选择业务选择到的基站获利选择到的基站获利选择到的基站获利最终获利也可以选择注意使用的基站不能重合思路动态规划对于处于位置处的一个可选基站其占据位置为利润为。那么如果要选择该基站上一个基站必须处于之前。定义表示终点在及以前的所有基站所能获得的最大利润有。其中。代码C#include bits/stdc.h using namespace std; const int maxn1e410; int n,m; vectorpairint,int a[maxn]; int f[maxn]; int main() { cinnm; for(int i1;im;i){ int l,r,c; cinlrc; a[r].push_back(make_pair(l,c)); } for(int i1;in;i){ f[i]f[i-1]; for(auto x:a[i]){ f[i] max(f[i], f[x.first - 1] x.second); } } coutf[n]; return 0; }学员喜报25秋招:8月29日机考通过

相关新闻

从0到1:使用Job Iteration重构长时运行的Rails后台任务

从0到1:使用Job Iteration重构长时运行的Rails后台任务

从0到1:使用Job Iteration重构长时运行的Rails后台任务 【免费下载链接】job-iteration Makes your background jobs interruptible and resumable by design. 项目地址: https://gitcode.com/gh_mirrors/jo/job-iteration Job Iteration是一个为ActiveJob设…

2026/7/5 11:07:31 阅读更多 →
探索Veloren:如何体验这款开源像素RPG的无限魅力?

探索Veloren:如何体验这款开源像素RPG的无限魅力?

探索Veloren:如何体验这款开源像素RPG的无限魅力? 【免费下载链接】veloren An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World. This repository is a mirror. Please submit all PRs and issues on our GitLab page. …

2026/7/5 7:41:38 阅读更多 →
android-ndk-rs未来展望:新特性与社区发展路线图

android-ndk-rs未来展望:新特性与社区发展路线图

android-ndk-rs未来展望:新特性与社区发展路线图 【免费下载链接】ndk 项目地址: https://gitcode.com/gh_mirrors/an/android-ndk-rs android-ndk-rs是一个为Android NDK提供Rust绑定的开源项目,旨在帮助开发者使用Rust语言高效开发Android应用…

2026/5/17 8:53:32 阅读更多 →

最新新闻

R语言多分类逻辑回归变量筛选:最优子集与逐步回归实战

R语言多分类逻辑回归变量筛选:最优子集与逐步回归实战

当你面对一个包含数十个潜在预测变量的数据集,想要构建一个稳健的多分类预测模型时,最让你头疼的是什么?是模型精度总是不尽如人意,还是模型复杂到难以解释,甚至出现过拟合?很多数据分析师和研究者会不假思…

2026/7/5 12:11:45 阅读更多 →
R语言多分类逻辑回归特征筛选:逐步回归与Lasso实战指南

R语言多分类逻辑回归特征筛选:逐步回归与Lasso实战指南

1. 先搞清楚多分类逻辑回归里“最优子集”和“逐步回归”到底在解决什么问题如果你正在用R语言处理一个多分类问题,比如预测客户流失等级(高、中、低)、疾病分型(A、B、C)或者产品品类偏好,逻辑回归&#x…

2026/7/5 12:11:45 阅读更多 →
贝叶斯决策实战:从最小错误到最小风险,如何为你的AI模型选择最优策略?

贝叶斯决策实战:从最小错误到最小风险,如何为你的AI模型选择最优策略?

1. 贝叶斯决策:从直觉到数学公式第一次听说贝叶斯决策时,我正坐在工位上调试一个图像分类模型。当时遇到一个奇怪的现象:模型在测试集上准确率很高,但实际部署时总把一些重要客户照片误分类。主管走过来看了一眼说:&qu…

2026/7/5 12:07:44 阅读更多 →
SVM 核技巧实战:3步验证自定义核函数正定性(附Gram矩阵代码)

SVM 核技巧实战:3步验证自定义核函数正定性(附Gram矩阵代码)

SVM核函数实战:从零验证自定义核的正定性(附Python代码)引言在机器学习领域,支持向量机(SVM)因其出色的分类性能而广受青睐。但当面对非线性可分数据时,传统的线性SVM就显得力不从心。核技巧&am…

2026/7/5 12:07:44 阅读更多 →
Simulink RL Agent 模块实战:5步连接物理模型与DDPG智能体

Simulink RL Agent 模块实战:5步连接物理模型与DDPG智能体

Simulink RL Agent 模块实战:5步连接物理模型与DDPG智能体在工业控制和机器人领域,将物理系统模型与强化学习算法相结合已成为实现智能控制的重要途径。MATLAB/Simulink平台凭借其强大的建模能力和与强化学习工具箱的无缝集成,为工程师提供了…

2026/7/5 12:07:44 阅读更多 →
大模型训练实战:从入门到部署的完整指南

大模型训练实战:从入门到部署的完整指南

1. 大模型训练入门:为什么每个程序员都应该掌握这项技能 2026年的技术圈,不会训练大模型就像2010年不会写网页一样尴尬。我花了三个月从零开始啃下这块硬骨头,现在可以负责任地告诉你:训练自己的大模型没有想象中那么难&#xff0…

2026/7/5 12:05:44 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻