尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
8.5华为OD机试真题 新系统 - 最长不连续子串 (Java/Py/C/C++/Js/Go)
最长不连续子串2026 华为OD机试真题 8月5日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述给定一个整数数组请找出最长的子串使得该子串中任意两个相邻元素的绝对差都严格大于1。输出这个最长子串的长度。例如数组[1, 3, 4, 5, 6, 5, 4]中子串[1, 3]满足条件 (|1-3|21)且是最长的因此答案为2。数组长度为 n0≤n≤1000数组范围 nums[]0≤nums[i]≤10000输入描述输入为一个整数数组数组元素在一行中给出使用英文逗号分隔。数组中可以包含空格例如1, 3, 4, 5当输入为空行时表示空数组。输出描述输出满足条件的最长子串的长度。示例1输入1, 3, 4, 5, 6, 5, 4输出2说明最长子串是[1,3]长度是2示例2输入1, 3, 5, 7输出4说明最长子串是[1, 3, 5, 7]长度是4解题思路核心思想子串要求连续因此只需要从左到右检查相邻元素。如果|nums[i] - nums[i-1]| 1当前合法子串可以继续延长否则以nums[i]重新开始统计。算法步骤若数组为空直接返回0。初始化当前合法子串长度current 1答案answer 1。从第二个元素开始遍历若相邻差值严格大于1令current 1否则当前连续子串断开令current 1。遍历过程中不断更新最大长度。复杂度分析设数组长度为n。时间复杂度O(n)只遍历数组一次。空间复杂度O(1)除输入数组外只使用常数个变量。Javaimportjava.util.*;publicclassMain{staticintsolve(int[]nums){// 空数组没有子串答案为 0if(nums.length0)return0;intanswer1;intcurrent1;// 相邻差值大于 1 时延长当前子串否则从当前位置重新开始for(inti1;inums.length;i){if(Math.abs(nums[i]-nums[i-1])1){current;answerMath.max(answer,current);}else{current1;}}returnanswer;}publicstaticvoidmain(String[]args){ScannerscannernewScanner(System.in);Stringlinescanner.hasNextLine()?scanner.nextLine().trim():;int[]nums;if(line.isEmpty()){numsnewint[0];}else{String[]partsline.split(,);numsnewint[parts.length];for(inti0;iparts.length;i){nums[i]Integer.parseInt(parts[i].trim());}}System.out.println(solve(nums));}}Pythondefsolve(nums):# 空数组时不存在子串返回 0ifnotnums:return0answer1current1# 逐个检查相邻元素满足差值条件就延长否则重置foriinrange(1,len(nums)):ifabs(nums[i]-nums[i-1])1:current1answermax(answer,current)else:current1returnanswer lineinput().strip()nums[]iflineelse[int(x.strip())forxinline.split(,)]print(solve(nums))JavaScriptconstreadlinerequire(readline);functionsolve(nums){// 空数组直接返回 0if(nums.length0)return0;letanswer1;letcurrent1;// 只需判断相邻差值是否严格大于 1for(leti1;inums.length;i){if(Math.abs(nums[i]-nums[i-1])1){current;answerMath.max(answer,current);}else{current1;}}returnanswer;}constrlreadline.createInterface({input:process.stdin,output:process.stdout});constlines[];rl.on(line,linelines.push(line));rl.on(close,(){constlinelines.length0?lines[0].trim():;constnumsline?[]:line.split(,).map(xNumber(x.trim()));console.log(solve(nums));});C#includebits/stdc.husingnamespacestd;intsolve(constvectorintnums){// 没有元素时最长长度为 0if(nums.empty())return0;intanswer1;intcurrent1;// 连续子串只需要逐对检查相邻元素for(inti1;i(int)nums.size();i){if(abs(nums[i]-nums[i-1])1){current;answermax(answer,current);}else{current1;}}returnanswer;}intmain(){string line;getline(cin,line);vectorintnums;if(!line.empty()){stringstreamss(line);string item;while(getline(ss,item,,)){nums.push_back(stoi(item));}}coutsolve(nums)endl;return0;}Gopackagemainimport(bufiofmtosstrconvstrings)funcsolve(nums[]int)int{// 空数组没有连续子串iflen(nums)0{return0}answer:1current:1// 相邻差值严格大于 1 时当前子串可以延长fori:1;ilen(nums);i{diff:nums[i]-nums[i-1]ifdiff0{diff-diff}ifdiff1{currentifcurrentanswer{answercurrent}}else{current1}}returnanswer}funcmain(){reader:bufio.NewReader(os.Stdin)line,_:reader.ReadString(\n)linestrings.TrimSpace(line)nums:[]int{}ifline!{parts:strings.Split(line,,)for_,part:rangeparts{value,_:strconv.Atoi(strings.TrimSpace(part))numsappend(nums,value)}}fmt.Println(solve(nums))}C语言#includestdio.h#includestdlib.h#includestring.hintsolve(intnums[],intn){// 空数组的最长长度为 0if(n0)return0;intanswer1;intcurrent1;// 每次只需要比较当前元素和前一个元素for(inti1;in;i){intdiffnums[i]-nums[i-1];if(diff0)diff-diff;if(diff1){current;if(currentanswer)answercurrent;}else{current1;}}returnanswer;}intmain(){charline[20000];if(fgets(line,sizeof(line),stdin)NULL)line[0]\0;line[strcspn(line,\r\n)]\0;intnums[1005];intn0;char*tokenstrtok(line,,);while(token!NULL){nums[n]atoi(token);tokenstrtok(NULL,,);}printf(%d\n,solve(nums,n));return0;}完整用例用例11, 3, 4, 5, 6, 5, 4用例21, 3, 5, 7用例3用例45用例51, 2, 3, 4用例610, 8, 6, 5, 3, 1用例70, 2, 4, 6, 8, 10用例84, 4, 7, 7, 10, 12用例910000, 9998, 9997, 9995, 9993, 9992, 9990用例102, 5, 3, 6, 4, 7, 5文章目录**最长不连续子串**题目描述输入描述输出描述示例1示例2解题思路核心思想算法步骤复杂度分析JavaPythonJavaScriptCGoC语言完整用例用例1用例2用例3用例4用例5用例6用例7用例8用例9用例10
RELATED

相关推荐

AI优先探索:ChatBI在试点期的‘四个不要‘,客户成功团队用真金白银换来的教训

AI优先探索:ChatBI在试点期的‘四个不要‘,客户成功团队用真金白银换来的教训

导语 某零售客户的 ChatBI 试点在第三个工作日就翻了车。门店督导在群里问了一句"上周华东区会员复购率是多少",ChatBI 给了个数字,业务负责人截图发到区域总监群——结果是该口径里"复购"被定义成"30 天内重复下单"&…

📅 2026/8/25 9:35:59
让数据主动找人:智能决策闭环时代,BI的价值锚点正在被重新定义

让数据主动找人:智能决策闭环时代,BI的价值锚点正在被重新定义

导语 先澄清一个正在被混用的概念:所谓"数据找人",并不等于每天早上八点自动推送一份日报到你的钉钉,也不是把仪表板做成 H5 塞进企业微信。真正意义上的"数据找人",是把决策触发的主动权从人交回给系统——由…

📅 2026/9/6 0:45:14
(震惊Seed2.1偷偷暗更)NCB叙事控制实测:全网唯一测出Seed2.1暗更级叙事架构升级

(震惊Seed2.1偷偷暗更)NCB叙事控制实测:全网唯一测出Seed2.1暗更级叙事架构升级

(震惊Seed2.1偷偷暗更)NCB叙事控制实测:全网唯一测出Seed2.1暗更级叙事架构升级 一、前言:为什么传统AI评测测不出「真正的模型天花板」 目前行业主流评测(MMLU、SWE-bench、Arena)全部集中在知识、代码、对话偏好维度,完全缺失一个核心赛道:长文结构化可控叙事能力。 …

📅 2026/10/6 22:09:16
MORE NEWS

更多资讯

📰

Sapling 的 Indexed Log:一份从 Revlog 到 Append-Only 索引存储的设计解析

开发工具CLI后端 【免费下载链接】sapling A Scalable, User-Friendly Source Control System. 项目地址: https://gitcode.com/gh_mirrors/sa/sapling 点击查看 免费下载 导读 Indexed Log(索引日志)是 Sapling 源码库(eden/sc…

📰

CouchDB 集群内部 RPC 机制深度解析:rexi 分布式调用框架的原理、源码与配置

数据库文档数据库后端 【免费下载链接】couchdb Seamless multi-primary syncing database with an intuitive HTTP/JSON API, designed for reliability 项目地址: https://gitcode.com/gh_mirrors/co/couchdb 点击查看 免费下载 本文基于 Apache CouchDB 仓库中的…

📰

PufferLib Bat 环境耳方向性(Ear Directivity)研究:从蝙蝠声学生物学到低成本 per-ear 增益模型的实现指南

强化学习深度学习人工智能 【免费下载链接】PufferLib Puffing up reinforcement learning 项目地址: https://gitcode.com/gh_mirrors/pu/PufferLib 点击查看 免费下载 PufferLib 的 ocean/bat/ 是一个以蝙蝠回声定位为核心的强化学习环境:蝙蝠智能体通…

📰

12.【Linux系统编程】动静态库制作与使用

目录1. 库的概念2. 静态库2.1 静态库的生成2.2 静态库的使用3. 动态库3.1 动态库生成3.2 动态库的使用3.3 库运行搜索路径3.3.1 简单解释3.3.2 详细解释(了解)4. 动静态库补充5. 使用外部库(不重要)1. 库的概念 库是写好的现有的…

📰

Webiny event-handler-aws 的 AwsLambdaContext 与 AwsLambdaEvent:基于 DI 的 Lambda 运行时抽象实战指南

CMS后端前端 【免费下载链接】webiny-js Open-source, self-hosted CMS platform on AWS serverless (Lambda, DynamoDB, S3). TypeScript framework with multi-tenancy, lifecycle hooks, GraphQL API, and AI-assisted development via MCP server. Built for developers at…

📰

现代 JavaScript 教程实战:用 cubic-bezier 让 CSS 尺寸动画“跳脱“边界(飞机缩放回弹动画)

文档教程前端 【免费下载链接】zh.javascript.info 现代 JavaScript 教程(The Modern JavaScript Tutorial),以最新的 ECMAScript 规范为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬