华为非AI方向笔试 7月24号 真题 【地宫探宝】
地宫探宝(C/Py/Java/Js/Go)题解华为笔试真题 7月24号 非AI方向第三题 300分题型题目内容你在玩地宫探宝游戏地宫中每块地砖上都有不同价值的财宝每回合你有三种走法移动到下一块地砖跳过下一块地砖移动到第二块地砖跳过下面的第一、第二块地砖移动到第三块地砖请在回合数耗尽前携带最多的财宝逃离地宫。设定逃离失数回合数耗尽仍未到达最后一块地砖起点在地宫之外目的地是最后一块地砖自动拾取落脚地砖上的财宝地砖按照直线排列输入描述nnn地砖个数取值[5,10000][5,10000][5,10000]mmm回合数上限取值[2,5000]nnn个整数空格分割表示每块地砖上财宝价值取值[0,5][0,5][0,5]注意所有的输入均为整数用空格分割题目保证输入合法无需校验输入输出描述输出携带的财宝总价要求找到财宝总价最大值如无法逃离则返回−1-1−1样例1输入5 3 1 2 1 1 3输出6说明第一行有5块地砖要求3步逃离 第二行5个整数分别表示地砖上的财宝价值最优走法 第一步第二块地砖拾取价值为2的财宝 第二步第三块或第四块拾取价值为1的财宝 第三步第五块地砖拾取价值为3的财宝财宝价值共计6样例2输入10 3 0 0 3 1 2 3 0 0 0 0输出-1说明回合数是3最大移动距离是9无法在回合数耗尽前逃离题解思路思路:动态规划移动过程中存在两个状态当前所处位置当前已用回合通过可定义状态数组dp[i][j]表示使用i回合到达j能获得的最大财宝初始化全部设置为-INF表示不可达对第一轮进行初始化第一次可以走1格到达02格到达13格到达2因此设置dp[1][0]a[0], dp[1][1] a[1], dp[1][2] a[2]枚举轮数为[2,m]进行状态转移对于当前dp[i][j]j位置在上轮可达情况下的状态转移为走一步dp[i1][j 1] max(dp[i1][j 1], dp[i][j] a[j1])走一步dp[i1][j 2] max(dp[i1][j 2], dp[i][j] a[j2])走一步dp[i1][j 3] max(dp[i1][j 3], dp[i][j] a[j3])按照上述如果每一轮n-1位置可达更新记录能取得的最大值。同时考虑到状态转移只发生在上一轮和当前轮可采用滚动数组pre,cur进行空间压缩。上述代码平均时间复杂度为O(nm)C#includebits/stdc.husingnamespacestd;intmain(){ios_base::sync_with_stdio(false);cin.tie(nullptr);intn,m;cinnm;vectorintvalue(n);for(inti0;in;i){cinvalue[i];}// 无法逃离if(m*3n){cout-1;return0;}// 不可达标志constintNEG-1e9;// pre上回合 cur当前回合 到达i能获得的最大价值vectorintpre(n,NEG),cur(n,NEG);if(n1)pre[0]value[0];if(n2)pre[1]value[1];if(n3)pre[2]value[2];intansNEG;ansmax(ans,pre[n-1]);// 枚举回合, 进行状态转移for(intstep2;stepm;step){fill(cur.begin(),cur.end(),NEG);// 枚举当前位置for(inti0;in;i){if(pre[i]NEG){continue;}// 枚举当前能走到的位置for(intd1;d3;d){intnxid;if(nxn){break;}cur[nx]max(cur[nx],pre[i]value[nx]);}}ansmax(ans,cur[n-1]);swap(pre,cur);}coutans;return0;}javaimportjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){ScannerscnewScanner(System.in);intnsc.nextInt();intmsc.nextInt();int[]valuenewint[n];for(inti0;in;i){value[i]sc.nextInt();}// 无法逃离if(m*3n){System.out.println(-1);return;}// 不可达标志finalintNEG-1000000000;// pre上回合cur当前回合到达i能获得的最大价值int[]prenewint[n];int[]curnewint[n];Arrays.fill(pre,NEG);Arrays.fill(cur,NEG);if(n1)pre[0]value[0];if(n2)pre[1]value[1];if(n3)pre[2]value[2];intansNEG;ansMath.max(ans,pre[n-1]);// 枚举回合进行状态转移for(intstep2;stepm;step){Arrays.fill(cur,NEG);// 枚举当前位置for(inti0;in;i){if(pre[i]NEG){continue;}// 枚举当前能走到的位置for(intd1;d3;d){intnxid;if(nxn){break;}cur[nx]Math.max(cur[nx],pre[i]value[nx]);}}ansMath.max(ans,cur[n-1]);int[]temppre;precur;curtemp;}System.out.println(ans);}}pythonn,mmap(int,input().split())valuelist(map(int,input().split()))# 无法逃离ifm*3n:print(-1)exit()# 不可达标志NEG-10**9# pre上回合 cur当前回合 到达i能获得的最大价值pre[NEG]*n cur[NEG]*nifn1:pre[0]value[0]ifn2:pre[1]value[1]ifn3:pre[2]value[2]ansNEG ansmax(ans,pre[n-1])# 枚举回合进行状态转移forstepinrange(2,m1):cur[NEG]*n# 枚举当前位置foriinrange(n):ifpre[i]NEG:continue# 枚举当前能走到的位置fordinrange(1,4):nxidifnxn:breakcur[nx]max(cur[nx],pre[i]value[nx])ansmax(ans,cur[n-1])pre,curcur,preprint(ans)javascriptconstreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});constinput[];rl.on(line,(line){input.push(line);});rl.on(close,(){const[n,m]input[0].split( ).map(Number);constvalueinput[1].split( ).map(Number);// 无法逃离if(m*3n){console.log(-1);return;}// 不可达标志constNEG-1000000000;// pre上回合 cur当前回合 到达i能获得的最大价值letprenewArray(n).fill(NEG);letcurnewArray(n).fill(NEG);if(n1)pre[0]value[0];if(n2)pre[1]value[1];if(n3)pre[2]value[2];letansNEG;ansMath.max(ans,pre[n-1]);// 枚举回合进行状态转移for(letstep2;stepm;step){cur.fill(NEG);// 枚举当前位置for(leti0;in;i){if(pre[i]NEG){continue;}// 枚举当前能走到的位置for(letd1;d3;d){constnxid;if(nxn){break;}cur[nx]Math.max(cur[nx],pre[i]value[nx]);}}ansMath.max(ans,cur[n-1]);lettemppre;precur;curtemp;}console.log(ans);});Gopackagemainimport(bufiofmtos)funcmax(a,bint)int{ifab{returna}returnb}funcmain(){in:bufio.NewReader(os.Stdin)varn,mintfmt.Fscan(in,n,m)value:make([]int,n)fori:0;in;i{fmt.Fscan(in,value[i])}// 无法逃离ifm*3n{fmt.Println(-1)return}// 不可达标志constNEG-1000000000// pre上回合 cur当前回合 到达i能获得的最大价值pre:make([]int,n)cur:make([]int,n)fori:0;in;i{pre[i]NEG cur[i]NEG}ifn1{pre[0]value[0]}ifn2{pre[1]value[1]}ifn3{pre[2]value[2]}ans:NEG ansmax(ans,pre[n-1])// 枚举回合进行状态转移forstep:2;stepm;step{fori:0;in;i{cur[i]NEG}// 枚举当前位置fori:0;in;i{ifpre[i]NEG{continue}// 枚举当前能走到的位置ford:1;d3;d{nx:idifnxn{break}cur[nx]max(cur[nx],pre[i]value[nx])}}ansmax(ans,cur[n-1])pre,curcur,pre}fmt.Println(ans)}

相关新闻

如何在AMD显卡上解锁ComfyUI-Zluda的完整AI创作潜力

如何在AMD显卡上解锁ComfyUI-Zluda的完整AI创作潜力

如何在AMD显卡上解锁ComfyUI-Zluda的完整AI创作潜力 【免费下载链接】ComfyUI-Zluda The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface. Now ZLUDA enhanced for better AMD GPU performance. 项目地址: https://gitcode.…

2026/7/29 19:27:23阅读更多 →
3步解锁Switch游戏世界:Ryujinx模拟器带你体验主机级游戏乐趣

3步解锁Switch游戏世界:Ryujinx模拟器带你体验主机级游戏乐趣

3步解锁Switch游戏世界:Ryujinx模拟器带你体验主机级游戏乐趣 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上畅玩Switch独占大作却不知从何入手?Ryu…

2026/7/29 19:27:23阅读更多 →
终极指南:如何用Turbo Boost Switcher掌控Mac性能与续航

终极指南:如何用Turbo Boost Switcher掌控Mac性能与续航

终极指南:如何用Turbo Boost Switcher掌控Mac性能与续航 【免费下载链接】Turbo-Boost-Switcher Turbo Boost disabler / enable app for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/tu/Turbo-Boost-Switcher 你是否厌倦了MacBook在轻度使用时风扇狂…

2026/7/29 19:27:23阅读更多 →
X-AnyLabeling:免费开源的AI图像标注工具,让数据标注效率提升10倍

X-AnyLabeling:免费开源的AI图像标注工具,让数据标注效率提升10倍

X-AnyLabeling:免费开源的AI图像标注工具,让数据标注效率提升10倍 【免费下载链接】X-AnyLabeling Open-source AI-assisted annotation platform for images, videos, text, and multimodal data. 项目地址: https://gitcode.com/gh_mirrors/xa/X-Any…

2026/7/29 23:10:49阅读更多 →
高级玩家指南:Soar的声明式配置如何实现软件环境一键复刻?

高级玩家指南:Soar的声明式配置如何实现软件环境一键复刻?

高级玩家指南:Soar的声明式配置如何实现软件环境一键复刻? 【免费下载链接】soar A fast, modern package manager for Static Binaries, Portable Formats (AppImage|AppBundle|FlatImage|Runimage) & More [maintainerQaidVoid] 项目地址: https…

2026/7/29 23:10:49阅读更多 →
本地AI智能体实战指南:OpenClaw、Hermes与WorkBuddy的全面对比与选型

本地AI智能体实战指南:OpenClaw、Hermes与WorkBuddy的全面对比与选型

本地AI智能体实战指南:OpenClaw、Hermes与WorkBuddy的全面对比与选型 引言:AI智能体时代的个人生产力革命 2026年,AI智能体赛道迎来爆发式增长,以“Claw”为后缀的AI个人助理(俗称“小龙虾”)成为行业焦点…

2026/7/29 23:10:49阅读更多 →
从零开始的敲代码生活--C语言篇(输入输出函数)

从零开始的敲代码生活--C语言篇(输入输出函数)

输入输出的参考点&#xff0c;是计算机系统的内存。 如果数据进入内存即为输入&#xff0c; 如果数据是从内存中输出即为输出 函数接口&#xff0c;包含 函数名&#xff0c;函数的参数 头文件处的#include <stdio.h>为系统提供的输入输出函数&#xff08;功能&#xff…

2026/7/29 23:10:49阅读更多 →
全球EMBA哪个好?民营企业家择校选择指南

全球EMBA哪个好?民营企业家择校选择指南

不少民营企业家、企业创始人在迭代管理认知、搭建高端人脉、布局企业出海与数字化升级时&#xff0c;都会纠结全球EMBA哪个好。市面上海内外EMBA项目繁多&#xff0c;办学定位、课程侧重、圈层资源差异极大&#xff0c;盲目择校容易出现适配度低、资源不匹配的问题。本文将从全…

2026/7/29 23:10:49阅读更多 →
运维大模型的下一步:从ChatOps到Agentic Ops的能力跃迁路径与技术瓶颈分析

运维大模型的下一步:从ChatOps到Agentic Ops的能力跃迁路径与技术瓶颈分析

运维大模型的下一步&#xff1a;从ChatOps到Agentic Ops的能力跃迁路径与技术瓶颈分析 一、前言&#xff1a;ChatOps的"隐形的天花板" 2025年到2026年上半年&#xff0c;将大语言模型集成到运维工作流中的主流做法是ChatOps模式——通过自然语言对话界面查询监控数据…

2026/7/29 23:08:48阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

&#x1f539; 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具&#xff0c;凭借本地离线运行、可视化图形操作和任务自动化三大核心特性&#xff0c;赢得了众多用户的青睐。与普通在线对话AI工具不同&#xff0c;它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接&#xff0c;是用激光束对阀座壳体&#xff08;通常为不锈钢或铝合金&#xff09;进行密封焊接&#xff0c;使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX&#xff1a;三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停&#xff1f;用 interrupt 给它设个“关卡“&#xff01; 在构建复杂的 Agent 系统时&#xff0c;我们经常会遇到这样的场景&#xff1a;Agent 正在执行一个多步骤的任务&#xff0c;比如“下单购买商品”&#xff0c;但执行到一半时&#xff0c;我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日&#xff0c;国际专注开放式技术研发的声学品牌Nank南卡&#xff0c;正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手&#xff1f;而且是选择曾舜晞&#xff1f;让我们一起来探索一下&#xff01;比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/29 14:26:42阅读更多 →