首页/新闻资讯/正文详情

华为OD机试真题 新系统 2026-10-28 JavaGoC【AI推理任务并行额度】

发布时间:2026/11/2 19:27:41 来源:云帆数科 栏目:资讯中心
华为OD机试真题 新系统 2026-10-28 JavaGoC【AI推理任务并行额度】
目录题目思路Code题目题目内容有 n 个 AI 推理任务按顺序排队第 i 个任务需占用 vram[i] GB 显存调度器可选定一个任务 i 为基准向左右连续合并相邻任务即连续子数组合并条件是被合并任务的显存占用不低于 vram[i]。已知任务的并行执行额度值 vram[i] × 任务个数满足条件的连续子数组长度对于给定的任务序列 vram请计算该序列中可达到的并行额度最大值是多少。输入描述本题为核心代码模式你需要实现函数 maxTaskVram(vram)。参数 vram 为整数数组长度为 n1 ≤ n ≤ 10^50 ≤ vram[i] ≤ 10^4。输出描述返回任务的并行执行额度最大值。样例1输入vram [2,1,5,6,2,3]输出10思路整体思路固定某个显存值为基准时应尽量扩展左右范围直到遇到更小的显存值。问题等价于寻找连续区间的最小值乘区间长度的最大结果可用单调栈一次扫描完成。第一步用栈保存还未确定右边界的任务下标并保持栈中显存从底到顶不递减。新任务显存更高或相等时之前的任务仍可以向右扩展。第二步当新任务显存低于栈顶时栈顶任务不能继续跨过当前任务扩展因此当前下标就是它的右侧阻挡位置。弹出该任务计算它作为基准的额度。第三步弹出后新栈顶下标记为 left栈为空时令 left −1。可计入的区间是 left1 到当前下标 i−1宽度为 i−left−1用弹出任务的显存乘宽度更新最大值。第四步弹出的任务可能与左侧任务显存相同此时先计算较短区间左侧同高任务之后仍会计算完整区间不会漏掉最优解。处理完所有应弹出的任务后把当前任务下标压栈。第五步扫描到数组末尾时使用一个虚拟显存 −1 作为哨兵。真实显存均非负它会清空栈并补算所有尚未遇到右侧阻挡位置的任务不修改原数组。边界处理零显存基准产生额度 0相等显存能够共同扩展单任务、单调递增和单调递减都由同一流程处理。最大额度为 10^4 × 10^5 10^9。复杂度分析每个任务下标最多入栈和出栈一次时间复杂度 O(n)额外空间 O(n)。Codeimport java.io.BufferedInputStream; import java.io.IOException; public class Main { public static int maxTaskVram(int[] vram) { int n vram.length; // 栈内存储任务下标size 是有效元素数显存值从栈底到栈顶不递减。 int[] stack new int[n]; int size 0; int best 0; for (int i 0; i n; i) { // -1 是虚拟尾任务严格小于真实非负显存确保剩余任务全部结算。 int current i n ? vram[i] : -1; // 遇到更低显存栈顶基准不能跨过当前任务i 成为右侧阻挡位置。 while (size 0 vram[stack[size - 1]] current) { int height vram[stack[--size]]; // 空栈允许从 0 开始若左侧显存相同后续由更左任务计算完整宽度。 int left size 0 ? stack[size - 1] : -1; int width i - left - 1; // 可选任务为 left1 到 i-1最大乘积 10^9不会超出 int 范围。 best Math.max(best, height * width); } // 尾部仅清栈避免把虚拟下标 n 写进容量为 n 的数组。 if (i n) { stack[size] i; } } return best; } private static int nextInt(BufferedInputStream input) throws IOException { int c; // 本地大规模输入只含非负整数跳过空白后按十进制读减少逐词扫描开销。 do { c input.read(); } while (c ! -1 c ); if (c -1) { return -1; } int value 0; // 遇到分隔空白停止该分隔符被读走下一次调用继续寻找下一个整数。 while (c 0 c 9) { value value * 10 c - 0; c input.read(); } return value; } public static void main(String[] args) throws IOException { BufferedInputStream input new BufferedInputStream(System.in); int n nextInt(input); if (n -1) { return; } int[] vram new int[n]; // 长度只用于本地适配提交时直接给 maxTaskVram 传入显存数组。 for (int i 0; i n; i) { vram[i] nextInt(input); } System.out.println(maxTaskVram(vram)); } }Gopackage main import ( bufio fmt os ) func maxTaskVram(vram []int) int { n : len(vram) // 栈保存未确定右边界的任务下标栈底到栈顶对应显存不递减。 stack : make([]int, 0, n) best : 0 for i : 0; i n; i { // 默认为虚拟尾值 -1真实任务覆盖它尾部则清空所有剩余候选。 current : -1 if i n { current vram[i] } // 当前任务显存更小栈顶基准的区间必须在 i 前结束。 for len(stack) 0 vram[stack[len(stack)-1]] current { height : vram[stack[len(stack)-1]] stack stack[:len(stack)-1] // 无左边界时允许从 0 扩展同高的左任务会在后续结算更宽区间。 left : -1 if len(stack) 0 { left stack[len(stack)-1] } width : i - left - 1 value : height * width // 两个边界都不计入宽度用显存乘任务数更新最大并行额度。 if value best { best value } } // 哨兵只负责触发出栈不作为实际任务入栈。 if i n { stack append(stack, i) } } return best } func main() { input : bufio.NewReader(os.Stdin) var n int if _, err : fmt.Fscan(input, n); err ! nil { return } vram : make([]int, n) // 输入长度属于本地适配协议核心函数只使用显存切片。 for i : range vram { fmt.Fscan(input, vram[i]) } fmt.Println(maxTaskVram(vram)) }C#include stdio.h #include stdlib.h int maxTaskVram(const int vram[], int n) { // 数组长度需独立传入每个任务最多入栈一次n 个下标槽位足够。 int *stack malloc((size_t)n * sizeof(int)); // size 表示有效栈长栈内任务显存保持不递减。 int size 0; int best 0; for (int i 0; i n; i) { // 尾部虚拟值 -1 低于所有真实显存会结算包括零值在内的剩余任务。 int current i n ? vram[i] : -1; // 更小显存阻断栈顶任务的右扩展当前下标 i 不计入它的区间。 while (size 0 vram[stack[size - 1]] current) { int height vram[stack[--size]]; // 左边为空时从 0 开始左侧同高任务尚未弹出稍后计算更宽区间。 int left size 0 ? stack[size - 1] : -1; int width i - left - 1; int value height * width; // 每个已确定区间都与当前最优比较最大 10^9 在本地 32 位 int 范围内。 if (value best) { best value; } } // 不把哨兵下标 n 写入栈避免越过分配的 n 个元素。 if (i n) { stack[size] i; } } // 栈只属于函数内部结算完后释放调用方的显存数组不被修改或释放。 free(stack); return best; } int main(void) { int n; if (scanf(%d, n) ! 1) { return 0; } int *vram malloc((size_t)n * sizeof(int)); // 本地协议读取 n 个显存值最后由适配器释放它拥有的输入数组。 for (int i 0; i n; i) { scanf(%d, vram[i]); } printf(%d\n, maxTaskVram(vram, n)); free(vram); return 0; }【华为od机试真题PythonJSJavaGo合集】【超值优惠】Py/JS/Java/Go合集【华为od机试真题Python】Python真题题库【华为od机试真题JavaScript】JavaScript真题题库【华为od机试真题JavaGo】JavaGo真题题库【华为od机试真题C】C真题题库【华为od机试真题C语言】C语言真题题库【华为od面试手撕代码题库】面试手撕代码题库【华为od机试面试交流群】【文章底部有二维码链接可扫码加交流群】华为OD机试:二本院校有机会吗? 有机会,但不大,大神除外!机考分数越高越好,所以需要提前刷题。机考通过后,如果没有收到面试邀请,也不要着急,非目标院校面试邀请发的时间比较晚。非目标院校今年有点难,机试至少要考到350分,所以需要疯狂刷题,华为OD机考是有题库的,最好在考前完所有题库题目。华为OD机试:跨专业可以参加华为OD可以,但是如果你的本科院校比较差,上岸概率不大。华为OD机试:华为OD简历被锁定机试通过,性格测试也通过,但是没人联系面试,发现简历被锁定。此时需要主动去联系HR。让他帮助你查询原因。

相关推荐

华为OD机试真题 新系统 2026-10-28 JavaGoC【社交网络消息转发】
华为OD机试真题 新系统 2026-10-28 JavaGoC【社交网络消息转发】

目录 题目 思路 Code 题目 题目内容: 在一个社交网络中,有 N 个用户(编号 0 到 N−1);每个用户都有一个「转发名单」(整数),该数二进制格式中的第 i 位为 1 表示此用户会把消息转发给第 i 个用户。 给定一个整数数组 forwardLists 和一个整数 initialSenders,请… · 2026/11/1 1:56:31

盘点一套可复现的 GPT-6 Astra 文献精读法,建议所有学术科研党收藏
盘点一套可复现的 GPT-6 Astra 文献精读法,建议所有学术科研党收藏

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 最近七哥也是用上了 GPT-6,顺手重新整理了一套读文献的方法。 精… · 2026/11/1 1:56:31

华为OD机试真题 新系统 2026-10-28 PythonJS【日志规则逆波兰转换】
华为OD机试真题 新系统 2026-10-28 PythonJS【日志规则逆波兰转换】

目录 题目 思路 Code 题目 题目内容: 系统中日志采集模块支持用户配置日志过滤规则。为了避免每次匹配都重新解析规则,需要开发一个规则解析器。 给定一个日志规则字符串,实现一个函数,将规则转换成逆波兰表达式(RPN)。 例:输入 A AND (B OR C),输出 A B C OR … · 2026/11/1 1:56:31

智能U位管理系统:数据中心资产管理的物联网革命
智能U位管理系统:数据中心资产管理的物联网革命

1. 项目概述:U位管理的智能化革命机房里那些密密麻麻的U位标签和Excel表格终于可以扔进历史垃圾桶了。现代U位管理系统正在用物联网技术重新定义数据中心资产管理——就像给每个机柜位安装了电子身份证,动动手指就能掌控全局。这套系统最颠覆性的创新在于… · 2026/11/2 19:27:01

C++编译期数学计算:原理与实践
C++编译期数学计算:原理与实践

1. 为什么需要编译期数学计算在C开发中,我们经常会遇到需要在程序运行前就确定某些数值的场景。比如游戏开发中的物理引擎参数、金融计算中的固定系数、嵌入式系统的资源分配等。传统做法是在运行时计算这些值,但这会带来两个问题:运行时性能… · 2026/11/2 19:27:01

贝叶斯优化超参调优:高斯过程与EI采集函数实战
贝叶斯优化超参调优:高斯过程与EI采集函数实战

简介:本资源是一份面向机器学习与深度学习从业者的超参数优化实践指南,聚焦贝叶斯优化这一高效自动调参方法,解决模型训练中手动调参耗时、效果不稳定等核心痛点,适用于算法工程师、AI研究员及进阶学习者。压缩包共4个文件&#x… · 2026/11/2 19:27:01

熵权法与主成分分析组合多指标评价:原理、三种范式与Python实操
熵权法与主成分分析组合多指标评价:原理、三种范式与Python实操

熵权法和主成分分析的结合,是数学建模评价类题目里出现频率极高的一组搭配,也是我在带队伍、审论文、做复盘时被问得最多的一类问题。它解决的核心矛盾很具体:手上有一张 n 个样本 m 个指标的原始数据表,想给出一个综合排名&… · 2026/11/2 19:27:01

ChromaDB+LangChain实战:构建本地知识库问答系统
ChromaDB+LangChain实战:构建本地知识库问答系统

向量数据库这两年从“新鲜玩意”变成了检索增强类应用的标配组件,我前后在几个问答类项目里用过不同的方案,最后留在生产环境里的就是 ChromaDB。它轻、上手快、Python 原生友好,配合 LangChain 做一套本地知识库问答,从零到跑通基… · 2026/11/2 19:27:00

libjam.dll 缺失修复指南:从成因排查到安全恢复的完整思路
libjam.dll 缺失修复指南:从成因排查到安全恢复的完整思路

1. 从一次真实的报错说起:libjam.dll 缺失到底是怎么回事上周帮一位做音频处理的朋友排查问题,他打开一款老版本的音频编辑工具时,屏幕上弹出一个对话框,大意是“无法启动此程序,因为计算机中丢失 libjam.dll”。他第一… · 2026/11/2 19:26:00

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

雷达信号调制技术解析:从LFM到伪线性调频原理与应用
雷达信号调制技术解析:从LFM到伪线性调频原理与应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15

基于MAX14431与TM4C123的工业SPI隔离电路设计全攻略
基于MAX14431与TM4C123的工业SPI隔离电路设计全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15

PLFM_RADAR:相位线性调频雷达信号处理框架
PLFM_RADAR:相位线性调频雷达信号处理框架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码