当前位置: 首页 > article >正文

华为OD机试真题 新系统 2026-05-20 JavaGoC语言 实现【多模型版本的最优调度】

目录题目思路Code题目在大语言模型推理服务中有多个不同大小的模型版本可供选择。每个模型版本有不同的准确率和推理延迟。给定查询次数 N 和总时间预算 T为每个查询选择一个模型版本使得在不超过时间预算的前提下总准确率最大。输入描述- 查询次数 N- 总时间预算 T- 模型准确率 accuracy[i]- 模型延迟 latency[i]输出描述最大总准确率补充说明- 同一个模型可以被多次选择- 0 查询数量 N 10- 0 总时间预算 T 100- 0 准确率 accuracy[i] 100表示多个百分点- 0 延迟 latency[i] 20- 0 模型版本数量 10- 可以考虑采用递归方法完成- 必须查询 N 次样例1输入2480,90,951,2,3输出180说明最优选择为选取两个准确率为 90 的模型总耗时为 4总准确率为 180。样例2输入2280,90,952,2,3输出0思路二维动态规划状态设计dp[i][t] 表示恰好完成 i 次查询并且总延迟恰好为 t 时能够得到的最大总准确率。如果这种状态无法达到就记为 -1。初始化还没做任何查询时dp[0][0] 0表示做了 0 次查询耗时 0总准确率自然也是 0。其他状态一开始都设为 -1表示不可达。状态转移如果当前已经知道dp[i-1][usedTime]说明前 i-1 次查询已经完成总耗时是 usedTime当前总准确率是这个值。那么第 i 次查询我们可以再枚举任意一个模型这个模型准确率是 acc延迟是 cost如果usedTime cost T那么就可以转移到dp[i][usedTime cost]并更新为dp[i][usedTime cost] max(dp[i][usedTime cost], dp[i-1][usedTime] acc)意思是第 i 次查询选这个模型后新的总耗时增加 cost新的总准确率增加 acc。因为每一步都可以重复枚举所有模型所以天然支持“同一个模型可重复选择”。Codeimport java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Solution { private static int[] parseNumbers(String line) { // 兼容逗号分隔和空白分隔两种输入格式。 String[] parts line.trim().split([,\\s]); int[] nums new int[parts.length]; for (int i 0; i parts.length; i) { nums[i] Integer.parseInt(parts[i]); } return nums; } public static void main(String[] args) throws Exception { BufferedReader reader new BufferedReader(new InputStreamReader(System.in)); ListString lines new ArrayList(); String line; while ((line reader.readLine()) ! null) { // 过滤空行避免因为输入中存在空白行导致解析出错。 line line.trim(); if (!line.isEmpty()) { lines.add(line); } } if (lines.size() 4) { System.out.println(0); return; } int n Integer.parseInt(lines.get(0)); int limit Integer.parseInt(lines.get(1)); int[] accuracy parseNumbers(lines.get(2)); int[] latency parseNumbers(lines.get(3)); int modelCount Math.min(accuracy.length, latency.length); if (n 0 || limit 0 || modelCount 0) { System.out.println(0); return; } int[][] dp new int[n 1][limit 1]; for (int i 0; i n; i) { for (int t 0; t limit; t) { // -1 表示当前状态不可达。 dp[i][t] -1; } } dp[0][0] 0; // dp[i][t] 表示恰好完成 i 次查询、总耗时为 t 时的最大准确率。 for (int i 1; i n; i) { for (int usedTime 0; usedTime limit; usedTime) { if (dp[i - 1][usedTime] 0) { continue; } for (int j 0; j modelCount; j) { // 第 i 次查询选择第 j 个模型尝试转移到新状态。 int nextTime usedTime latency[j]; if (nextTime limit) { dp[i][nextTime] Math.max(dp[i][nextTime], dp[i - 1][usedTime] accuracy[j]); } } } } int answer 0; for (int t 0; t limit; t) { // 总耗时只要求不超过 limit所以枚举最后一层所有合法时间。 answer Math.max(answer, dp[n][t]); } System.out.println(answer); } }Gopackage main import ( bufio fmt os strconv strings ) func parseNumbers(line string) []int { // 兼容逗号分隔和空白分隔两种输入格式。 line strings.ReplaceAll(line, ,, ) parts : strings.Fields(line) nums : make([]int, 0, len(parts)) for _, part : range parts { value, _ : strconv.Atoi(part) nums append(nums, value) } return nums } func main() { scanner : bufio.NewScanner(os.Stdin) lines : make([]string, 0, 4) for scanner.Scan() { // 过滤空行避免输入格式中的空白行影响解析。 line : strings.TrimSpace(scanner.Text()) if line ! { lines append(lines, line) } } if len(lines) 4 { fmt.Println(0) return } n, _ : strconv.Atoi(lines[0]) limit, _ : strconv.Atoi(lines[1]) accuracy : parseNumbers(lines[2]) latency : parseNumbers(lines[3]) modelCount : len(accuracy) if len(latency) modelCount { modelCount len(latency) } if n 0 || limit 0 || modelCount 0 { fmt.Println(0) return } // dp[i][t] 表示恰好完成 i 次查询、总耗时为 t 时的最大准确率。 // 不可达状态记为 -1。 dp : make([][]int, n1) for i : 0; i n; i { dp[i] make([]int, limit1) for t : 0; t limit; t { dp[i][t] -1 } } dp[0][0] 0 for i : 1; i n; i { for usedTime : 0; usedTime limit; usedTime { if dp[i-1][usedTime] 0 { continue } for j : 0; j modelCount; j { // 第 i 次查询选择第 j 个模型更新新的耗时状态。 nextTime : usedTime latency[j] if nextTime limit { value : dp[i-1][usedTime] accuracy[j] if value dp[i][nextTime] { dp[i][nextTime] value } } } } } answer : 0 for t : 0; t limit; t { // 最终只要求总耗时不超过 limit因此枚举最后一层即可。 if dp[n][t] answer { answer dp[n][t] } } fmt.Println(answer) }C#include stdio.h #include stdlib.h #include string.h #define MAX_LINE 1024 int parse_numbers(char *line, int nums[]) { int count 0; char *token; // 先把逗号替换成空格统一交给 strtok 解析。 for (int i 0; line[i] ! \0; i) { if (line[i] ,) { line[i] ; } } token strtok(line, \t\r\n); while (token ! NULL) { nums[count] atoi(token); token strtok(NULL, \t\r\n); } return count; } int main() { char line[MAX_LINE]; char lines[4][MAX_LINE]; int line_count 0; while (fgets(line, sizeof(line), stdin) ! NULL) { int all_blank 1; // 跳过空白行避免样例中的空行影响输入。 for (int i 0; line[i] ! \0; i) { if (line[i] ! line[i] ! \t line[i] ! \r line[i] ! \n) { all_blank 0; break; } } if (!all_blank line_count 4) { strcpy(lines[line_count], line); } } if (line_count 4) { printf(0\n); return 0; } int n atoi(lines[0]); int limit atoi(lines[1]); int accuracy[128]; int latency[128]; int acc_count parse_numbers(lines[2], accuracy); int lat_count parse_numbers(lines[3], latency); int model_count acc_count lat_count ? acc_count : lat_count; if (n 0 || limit 0 || model_count 0) { printf(0\n); return 0; } // dp[i][t] 表示恰好完成 i 次查询、总耗时为 t 时的最大准确率。 // -1 表示该状态不可达。 int dp[16][128]; for (int i 0; i n; i) { for (int t 0; t limit; t) { dp[i][t] -1; } } dp[0][0] 0; // dp[i][t] 表示恰好完成 i 次查询、总耗时为 t 时的最大准确率。 for (int i 1; i n; i) { for (int used_time 0; used_time limit; used_time) { if (dp[i - 1][used_time] 0) { continue; } for (int j 0; j model_count; j) { // 第 i 次查询选择当前模型尝试更新新状态。 int next_time used_time latency[j]; if (next_time limit) { int value dp[i - 1][used_time] accuracy[j]; if (value dp[i][next_time]) { dp[i][next_time] value; } } } } } int answer 0; for (int t 0; t limit; t) { // 总耗时不超过 limit 的所有状态里取最大值。 if (dp[n][t] answer) { answer dp[n][t]; } } printf(%d\n, answer); 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-05-20 JavaGoC语言 实现【多模型版本的最优调度】

目录 题目 思路 Code 题目 在大语言模型推理服务中,有多个不同大小的模型版本可供选择。每个模型版本有不同的准确率和推理延迟。给定查询次数 N 和总时间预算 T,为每个查询选择一个模型版本,使得在不超过时间预算的前提下,总准…...

通过curl命令快速测试Taotoken接口连通性与模型响应效果

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试Taotoken接口连通性与模型响应效果 对于开发者而言,在集成大模型服务时,快速验证接口…...

Local AI Needs to Be the Norm — A Beginner’s Guide for Developers

Local AI Needs to Be the Norm — A Beginner’s Guide for Developers You’ve probably noticed it: more and more developers are running large language models on their laptops—not as a curiosity, but as part of daily workflow. Not just toy experiments, but …...

Ollama迁移到vLLM:本地大模型服务生产化实战指南

1. 项目概述:为什么一个本地大模型服务迁移指南值得写满5000字?“From Local to Production: The Ultimate Ollama to vLLM Migration Guide”——这个标题里藏着三重现实张力:本地开发的便利性、生产环境的严苛性,以及大模型推理…...

魔兽争霸III终极优化指南:5大功能彻底解决现代系统兼容性问题

魔兽争霸III终极优化指南:5大功能彻底解决现代系统兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在现代电脑…...

基准测试结果刚出炉,DeepSeek在医疗/法律/金融三大垂直领域事实准确率对比,谁在说真话?

更多请点击: https://intelliparadigm.com 第一章:基准测试结果刚出炉,DeepSeek在医疗/法律/金融三大垂直领域事实准确率对比,谁在说真话? 我们基于权威垂直领域评测集——MedMCQA(医疗)、Case…...

Triton+KServe构建高稳定性AI模型服务架构

1. 项目概述:当模型走出Jupyter,真正开始呼吸真实世界空气“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句暗号,专为那些在Jupyter里调通了模型、画出了漂亮ROC曲线、却在把模型推上服务器…...

RTB点击率预估中的长尾失衡与价值重标定

1. 项目概述:当广告竞价遇上“长尾陷阱”——为什么实时竞价系统里99%的流量不说话,却决定着100%的效果你有没有遇到过这样的情况:训练了一个看起来AUC高达0.92的点击率预估模型,上线后CTR却比老模型还低0.3个百分点?或…...

告别代码阅读障碍:MultiHighlight智能高亮插件提升3倍开发效率

告别代码阅读障碍:MultiHighlight智能高亮插件提升3倍开发效率 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight …...

Udemy课程下载器:如何高效离线学习Udemy课程内容?

Udemy课程下载器:如何高效离线学习Udemy课程内容? 【免费下载链接】udemy-downloader-gui A desktop application for downloading Udemy Courses 项目地址: https://gitcode.com/gh_mirrors/ud/udemy-downloader-gui 想要随时随地学习Udemy课程却…...

Kemono-scraper完整指南:从批量下载到智能管理的艺术收藏工具

Kemono-scraper完整指南:从批量下载到智能管理的艺术收藏工具 【免费下载链接】Kemono-scraper Kemono-scraper - 一个简单的下载器,用于从kemono.su下载图片,提供了多种下载和过滤选项。 项目地址: https://gitcode.com/gh_mirrors/ke/Kem…...

蒙特卡洛学习:基于完整轨迹的无偏强化学习方法

1. 这不是数学推导课,而是一次“试错式决策”的实战复盘你有没有过这种体验:第一次进一家陌生餐厅,菜单没看懂,服务员语速太快,你点完菜后心里直打鼓——这道招牌菜到底合不合口味?等上菜、尝第一口、皱眉或…...

Python量化投资终极指南:MOOTDX让通达信数据获取变得如此简单

Python量化投资终极指南:MOOTDX让通达信数据获取变得如此简单 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 还在为股票数据的获取而烦恼吗?你是否曾经花费数小时研究复杂…...

生成式AI绘画的版权困局与人机协同新范式

1. 这不是技术升级,而是一场创作权的重新分配“Paint, Pixels, and Plagiarism”——光看这个标题,你就能闻到火药味。它没在讲AI怎么画得更像梵高,也没教你怎么用Stable Diffusion生成赛博朋克海报;它直指一个所有画师、设计师、…...

收藏!2026大模型风口来了,小白程序员如何抓住高薪机会?必看!

文章指出2026年是技术红利年,大模型领域竞争格局变化明显。国内开源模型如DeepSeek、GLM等取得巨大进展,领先全球。从业者待遇提升,应届生薪酬普遍破百万。招聘方更看重新技能,如万亿MoE、Agent等。文章强调AGI的核心是通用性&…...

AI绘画的三重危机:颜料、像素与剽窃

1. 这不是技术讨论,而是一场正在发生的行业地震“Paint, Pixels, and Plagiarism”——光看这个标题,你就能闻到火药味。它没说“AI绘画工具使用指南”,也没写“Stable Diffusion参数调优手册”,而是把颜料(Paint&…...

Kubernetes节点管理:管理集群节点的关键策略

Kubernetes节点管理:管理集群节点的关键策略 一、Kubernetes节点管理概述 1.1 节点管理的定义 Kubernetes节点管理是指对集群中节点的生命周期进行管理的过程,包括节点的加入、配置、监控、维护和退出。它确保集群中的节点能够高效、可靠地运行工作负载。…...

如何在3分钟内将HTML完美转换为Word文档:html-to-docx终极指南

如何在3分钟内将HTML完美转换为Word文档:html-to-docx终极指南 【免费下载链接】html-to-docx HTML to DOCX converter 项目地址: https://gitcode.com/gh_mirrors/ht/html-to-docx 你是否曾经需要将网页内容转换为专业的Word文档,却发现格式完全…...

GRETNA脑网络分析工具包:MATLAB中的图论网络分析终极指南

GRETNA脑网络分析工具包:MATLAB中的图论网络分析终极指南 【免费下载链接】GRETNA A Graph-theoretical Network Analysis Toolkit in MATLAB 项目地址: https://gitcode.com/gh_mirrors/gr/GRETNA GRETNA(Graph-theoretical Network Analysis To…...

通过用量看板清晰观测各模型API调用成本与消耗

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板清晰观测各模型API调用成本与消耗 效果展示类,介绍开发者在接入Taotoken后,如何通过平台提供的…...

Vue3组件传参大全,各种传参方式的对比

在 Vue3 的日常开发中,组件间的数据传递与通信是最基本的操作。面对不同的组件关系(父子、祖孙、兄弟、任意组件)和不同的交互需求(单向、双向、共享状态、跨层级透传),Vue3 提供了丰富而灵活的传参方案。本…...

oracle logminer

Oracle LogMiner 日志挖掘 【一、LogMiner 核心概念】LogMiner 是 Oracle 内置的日志分析工具,通过解析 redo log / 归档日志, 提取其中的 SQL 变更记录,用于:• 数据审计(谁改了什么、什么时候改的) • 数…...

Kolmogorov-Arnold网络:函数表示论驱动的可解释神经架构

1. 这不是又一个“万能网络”——Kolmogorov-Arnold 网络到底在解决什么真问题?你可能刚在某篇预印本论文里看到“Kolmogorov-Arnold Network”这个名词,心里一咯噔:又来?又是那种名字听着像数学史课件、实操起来连 loss 曲线都跑…...

揭秘开源项目的高效实现:QMC音频文件解密技术深度解析

揭秘开源项目的高效实现:QMC音频文件解密技术深度解析 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过从QQ音乐下载的音频文件无法在其他播放器…...

Stacking集成在脑瘤影像分类中的临床价值与实操要点

1. 项目概述:为什么 stacking 不是“堆叠玩具”,而是脑瘤分类里最值得细嚼的那块硬骨头在医学影像AI落地的真实战场上,单模型准确率卡在92%就再也上不去,不是因为数据不够多,也不是因为GPU不够猛,而是因为不…...

使用curl命令快速测试Taotoken大模型API的连通性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用curl命令快速测试Taotoken大模型API的连通性 在将大模型能力集成到应用之前,验证API的连通性和基本功能是必不可少…...

MLP分类模型结构设计实战:小样本高维数据的工程化落地

1. 这不是教科书里的“Hello World”,而是一次真实场景下的MLP工程实践你打开任何一本神经网络入门书,第一页大概率写着“用MLP识别手写数字”。但现实里,没人会为MNIST单独搭一个模型——真正卡住你的,是数据不干净、类别不平衡、…...

ViGEmBus虚拟游戏控制器驱动:Windows游戏输入的革命性解决方案

ViGEmBus虚拟游戏控制器驱动:Windows游戏输入的革命性解决方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 在Windows游戏世界中,…...

炉石传说佣兵战记自动化脚本:告别重复操作的全能指南

炉石传说佣兵战记自动化脚本:告别重复操作的全能指南 【免费下载链接】lushi_script This script is to save your time from Mercenaries mode of Hearthstone 项目地址: https://gitcode.com/gh_mirrors/lu/lushi_script 还在为《炉石传说》佣兵战记模式中…...

生产级机器学习模型服务:从Notebook到Kubernetes的工程实践

1. 项目概述:这不是“跑通模型”,而是让模型在真实世界里活下来“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句行话暗号,老手一眼就懂:前面三篇已经蹚过了数据清洗、特征工程、…...