首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客472879769号
成都文理学院 算法工程师
发布于安徽
关注
已关注
取消关注
@林小白zii:
2023 华为笔试题 0913
笔试时间:2023年9月13日 秋招 第一题 题目:快递中转站 快递公司有一个业务要求,所有当天下发到快递中转站的快递,最迟在第二天送达用户手中。假设已经知道接下来n天每天下发到快递中转站的快递重量。快递中转站负责人需要使用快递运输车运输给用户,每一辆运输车最大只能装k重量的快递。每天可以出车多次,也可以不出车,也不要求运输车装满。当天下发到快递中转站的快递,最晚留到第二天就要运输走送给用户。快递中转站负责人希望出车次数最少,完成接下来n天的快递运输。 解答要求:时间限制: C/C++ 1000ms,其他语言: 2000ms内存限制: C/C++256MB其他语言: 512MB 输入描述 输入第一行包含两个整数n(1<= n<=200000),k(1<=k<=100000000) 第二行包含n个整数ai,表示第i天下发到快递中转站的快递重量。 输出描述 输出最少需要的出车次数。 样例输入 3 2 3 2 1 样例输出 3 说明 第一天的快递出车一次送走2个重量,留1个重量到第二天 第二天送走第一天留下的1个重量和当前的1个重量,留1个重量到第三天送走。 参考题解 模拟题。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>using namespace std;int main() { long long totalNumbers, divisor; cin >> totalNumbers >> divisor; vector<int> numbers(totalNumbers, 0); for (int i = 0; i < totalNumbers; i++) { cin >> numbers[i]; } long long totalOperations = 0; long long remainder = 0; for (int i = 0; i < totalNumbers; i++) { long long currentSum = numbers[i] + remainder; long long divisionResult = currentSum / divisor; long long newRemainder = currentSum % divisor; if (divisionResult == 0 && remainder != 0) { divisionResult++; newRemainder = 0; } totalOperations += divisionResult; remainder = newRemainder; } if (remainder != 0) { totalOperations++; } cout << totalOperations << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long totalNumbers = scanner.nextLong(); long divisor = scanner.nextLong(); long[] numbers = new long[(int) totalNumbers]; for (int i = 0; i < totalNumbers; i++) { numbers[i] = scanner.nextLong(); } long totalOperations = 0; long remainder = 0; for (int i = 0; i < totalNumbers; i++) { long currentSum = numbers[i] + remainder; long divisionResult = currentSum / divisor; long newRemainder = currentSum % divisor; if (divisionResult == 0 && remainder != 0) { divisionResult++; newRemainder = 0; } totalOperations += divisionResult; remainder = newRemainder; } if (remainder != 0) { totalOperations++; } System.out.println(totalOperations); }} Python:[此代码未进行大量数据的测试,仅供参考] total_numbers, divisor = map(int, input().split())numbers = list(map(int, input().split()))total_operations = 0remainder = 0for num in numbers: current_sum = num + remainder division_result = current_sum // divisor new_remainder = current_sum % divisor if division_result == 0 and remainder != 0: division_result += 1 new_remainder = 0 total_operations += division_result remainder = new_remainderif remainder != 0: total_operations += 1print(total_operations) 第二题 题目:互通设备集 局一局域网内的设备可以相互发现,具备直连路由的两个设备可以互通。假定设备A和B互通,B和C互通,那么可以将B作为中心设备,通过多跳路由策略使设备A和C互通。这样,A、B、C三个设备就组成了一个互通设备集。其中,互通设备集包括以下几种情况: 1、直接互通的多个设备; 2、通过多跳路由第略间接互通的多个设备; 3、没有任何互通关系的单个设备现给出某一局域网内的设备总数以及具备直接互通关系的设备。 请计算该局域网内的互通设备集有多少个? 输入描述 第一行: 某一局域网内的设备总数M,32位有符号整数表示。1<= M<=200 第二行:具备直接互通关系的数量N,32位有符号整数表示。0<= N<200 第三行到第N+2行: 每行两个有符号32位整数,分别表示具备直接互通关系的两个设备的编号,用空格隔开。每个设备具有唯一的编号,0<设备编号< M 输出描述 互通设备集的数量,32位有符号整数表示。 样例输入 3 2 0 1 0 2 样例输出 1 说明 编号0和1以及编号0和2的设备直接互通,编号1和2的设备可通过编号0的设备建立互通关系,互通设备集可合并为1个。 参考题解 并查集,参考岛屿解法。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>using namespace std;vector<int> parent;void initialize(int n) { parent.assign(n, 0); for (int i = 0; i < n; i++) { parent[i] = i; }}int findSet(int x) { return (x == parent[x]) ? x : (parent[x] = findSet(parent[x]));}void unionSets(int x, int y) { parent[findSet(x)] = findSet(y);}int main() { int m, n; cin >> m >> n; initialize(m); int u, v; for (int i = 0; i < n; i++) { cin >> u >> v; unionSets(u, v); } int numDisjointSets = 0; for (int i = 0; i < m; i++) { if (findSet(i) == i) { numDisjointSets++; } } cout << numDisjointSets << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.Scanner;public class Main { static int[] parent; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int m = scanner.nextInt(); int n = scanner.nextInt(); initialize(m); int u, v; for (int i = 0; i < n; i++) { u = scanner.nextInt(); v = scanner.nextInt(); unionSets(u, v); } int numDisjointSets = 0; for (int i = 0; i < m; i++) { if (findSet(i) == i) { numDisjointSets++; } } System.out.println(numDisjointSets);
点赞 2
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
02-10 10:53
富特科技_项目软件工程师(准入职员工)
步步高内推,步步高内推码
步步高实验学校 2026届校招启动啦【学校简介】东莞市步步高实验学校于 2023 年投入运营,占地 230 亩,是一所集幼儿园、小学、初中、高中于一体的十五年一贯制非营利性高端民办学校,学校全面实行小班化教学,学校师生比为 1:5;步步高教育专家团队由来自一流大学的国家课标专家、教育学家,来自著名学校的卓越校长,来自一线、有着丰富教学经验的著名特级教师,以及来自国家级教育媒体的教育策划专家共同组成,为步步高的课程、教学、管理奠定了坚实基础。【招聘岗位】• 幼儿园、小学部及初中部各学科类教师 & 国际教师,类别多多,等你pick!【福利待遇】• 薪资:幼儿园老师年收入16万起 、中小学教...
点赞
评论
收藏
分享
今天 08:42
浙江大学 算法工程师
小红书C++ 软件开发一面 面经
1. 自我介绍,说说你为什么想加入小红书回答框架:教育背景和技术能力项目经验和技术亮点对小红书的了解和兴趣为什么选择这个岗位2. 手撕算法:合并两个有序链表(保留原题)题目:将两个升序链表合并为一个新的升序链表并返回。答案: struct ListNode { int val; ListNode* next; ListNode(int x) : val(x), next(nullptr) {} }; ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode dummy(0); ListNode* tail = &dum...
C++八股文全集
点赞
评论
收藏
分享
01-12 11:56
门头沟学院 Java
家人们谁懂啊 boss打个招呼被骂了
我这个招呼话术用了好几年了,就是个美好的祝福,一般收到的回复都是"下班就去买彩票“”这个招呼真特殊“”这个真得接""真中了分你一半“”谢谢你,也祝你暴富“这样理解的还是第一次见,真是没招了啊家人们招聘
AsusCoding:
扯到中彩票确是突兀了
,感觉有些诈骗短信就这么发的
点赞
评论
收藏
分享
02-06 12:08
重庆大学 Java
字节二面
这个面试官真的很温柔 也不拷打 就问你一些八股问题 真的是给了我这个面试新手很好的感觉 面完真的开心了一下午 因为感觉发挥的还不错 感觉有机会能进三面 后面也确实过了一个周末就通知三面了
发面经攒人品
点赞
评论
收藏
分享
02-15 21:39
阿里巴巴_ai infra
牛友的春节生活
❓你最怕被问到什么问题?如何应对? “你那个大数据是干啥的?能查到我话费账单吗?” 👉我的魔法防御: 最怕:“有对象没?”“啥时候买房?”“你们公司裁员吗?” 我的策略:三段式防御 先夸人:“姨你气色真好!”,再转移:“来来来,我给你倒点热茶。”,最后用“开放式结论”:“这事儿我正在推进,属于长期迭代。”❓你如何跟家人亲戚介绍你的职业? 坐办公室玩电脑的。“我在互联网工地当包工头,手下管着几百台服务器,它们天天996搬砖,我负责给它们画饼和灌红牛。”❓亲戚问你挣多少钱,该怎么答?经典场景:饭桌上突然安静,七大姑举着筷子凝视你。“哈哈,我的工资和我家里的年货一样多,都是很丰厚的!”。然后迅速反...
牛友的春节生活
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
嵌入式应届生春招怎么准备——从零到拿 Offer 的系统攻略
774
2
...
28届Go日常实习简历求牛爷爷锐评
489
3
...
关于租房
375
4
...
HTTP 和 HTTPS 区别
368
5
...
27届实习近一年的年度经历和总结
355
6
...
agent实习都干什么?prompt设计
262
7
...
得力嵌入式工程师 二面 面经
206
8
...
美团推荐算法一面
203
9
...
27前端双非找实习
182
10
...
大三无实习
178
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
13650次浏览
166人参与
#
牛友们,签完三方你在忙什么?
#
137334次浏览
993人参与
#
牛客AI体验站
#
17826次浏览
302人参与
#
担心入职之后被发现很菜怎么办
#
282438次浏览
1185人参与
#
如何缓解入职前的焦虑
#
258806次浏览
1451人参与
#
牛客租房专区
#
151254次浏览
1477人参与
#
秋招开始捡漏了吗
#
229437次浏览
1044人参与
#
秋招投递攻略
#
268754次浏览
2553人参与
#
九月了,是考研还是就业?
#
89143次浏览
556人参与
#
校招第一份工作你干了多久?
#
139331次浏览
609人参与
#
搜狐工作体验
#
4109次浏览
29人参与
#
机械人求职现状
#
33615次浏览
297人参与
#
我是XXX,请攻击我最薄弱的地方
#
61745次浏览
409人参与
#
用友工作体验
#
18075次浏览
151人参与
#
你的实习什么时候入职
#
348044次浏览
2291人参与
#
今年秋招还有金九银十吗
#
75077次浏览
506人参与
#
机械人的offer怎么选
#
252628次浏览
1189人参与
#
校招谈薪技巧
#
129601次浏览
1357人参与
#
AI了,我在打一种很新的工
#
140470次浏览
1384人参与
#
这份实习,有没有动摇过你的职业方向?
#
1990次浏览
27人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务