news 2026/7/24 2:33:06

5.10华为OD机试真题 新系统 - 美观的灯笼 (JavaPyCC++JsGo)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5.10华为OD机试真题 新系统 - 美观的灯笼 (JavaPyCC++JsGo)

美观的灯笼

2026 华为OD机试真题 5月10日华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

题目描述

春节将至,工人要在古镇老街挂灯笼。街上有 N 个挂灯点,每个点因建筑结构不同,工人挂上的灯笼的尺寸M也不同(数值越大表示灯笼越大)。

工人认为美观的灯笼必须按非递增尺寸顺序挂置,即后续灯笼尺寸不能超过当前灯笼(只能相同或更小)。

工人完成灯笼挂接后,需要你代替他判断:

1、这排灯笼里,满足美观定义的最长连续灯笼区域有多少个灯笼;

2、这段最长连续区域是从哪个挂灯点开始?(当存在多个最长连续区域时选择最左边的挂灯点)

2026 华为OD机试真题 5月10日华为OD上机新系统考试真题 100 分题型

输入描述

N 个正整数 M(1≤M≤100),表示每个挂灯点所挂的灯笼尺寸。

输出描述

输出两个整数:第一个是符合题意的灯笼数,第二个是开始挂灯笼的挂灯点位置(从 0 开始计数)。

示例1

输入

[5,3,4,4,2,1]

输出

[4,2]

说明

灯笼尺寸序列为 [5,3,4,4,2,1]。存在长度为4的非递增连续子序列:[4,4,2,1](位置 2−5)。

示例2

输入

[5,4,3,2,1]

输出

[5,0]

说明

灯笼尺寸序列为 [5,4,3,2,1]。整个序列满足非递增要求,长度为 5,起始位置为 0。

示例3

输入

[2,2,2,2]

输出

[4,0]

说明

灯笼尺寸序列为 [2,2,2,2]。所有灯笼尺寸相等,满足非递增要求,长度为 4,起始位置为 0。

解题思路

本题要求在一个整数数组中寻找“最长连续非递增子序列”。 具体来说,我们需要找到一个连续的区域,使得区域内的灯笼尺寸满足 $M_i \ge M_{i+1}$,并输出该区域的长度起始位置。如果存在多个长度相同的最长区域,返回最左侧的那个(即起始位置索引最小的)。

我们可以使用一次线性遍历来解决这个问题: 1.状态初始化: - 使用best_len记录全局最长非递增区域的长度,初始为 1(即使只有一个灯笼,长度也是 1)。 - 使用best_start记录全局最长非递增区域的起始位置,初始为 0。 - 使用cur_len记录当前正在考察的非递增区域的长度,初始为 1。 - 使用cur_start记录当前正在考察的非递增区域的起始位置,初始为 0。

  1. 线性遍历: - 从第二个灯笼(索引 $i = 1$)开始遍历数组。 - 如果当前灯笼的尺寸小于等于前一个灯笼(nums[i] <= nums[i - 1]),说明满足非递增要求,当前连续区域长度cur_len增加 1。 - 否则,说明非递增区域在这里断开,我们需要重新开始计算一个新的区域:将cur_len重置为 1,并将cur_start更新为当前索引 $i$。

  2. 结果更新: - 在每次迭代的最后,检查cur_len是否严格大于best_len。 - 如果是,则更新best_len = cur_len,同时更新best_start = cur_start。 - 必须使用“严格大于”(>),这样在遇到长度相同的连续区域时,就不会覆盖之前找到的最左侧的结果,完美契合题目“存在多个最长连续区域时选择最左边的挂灯点”的要求。

复杂度分析

  • 时间复杂度:$O(N)$。我们只需要对长度为 $N$ 的数组进行一次从头到尾的线性扫描即可得到结果。
  • 空间复杂度:$O(1)$。只使用了几个常数级别的变量来记录长度和起始位置,不需要额外的存储空间(不计算存储输入数组本身的空
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 2:30:59

TPS536C7控制器Turbo模式与热平衡管理机制深度解析

1. 项目概述&#xff1a;TPS536C7控制器深度解析在数据中心、AI服务器和高端计算平台的心脏地带&#xff0c;多相降压控制器扮演着至关重要的角色。它不仅仅是把12V输入转换成CPU或GPU所需的1V以下低电压那么简单&#xff0c;更是一个集成了精密电流控制、动态功率管理和智能热…

作者头像 李华
网站建设 2026/7/24 2:30:02

Java后端转型AI Agent开发:800次投递的实战经验

1. 从后端到AI Agent的转型困境800份简历投递仅换来2次面试机会&#xff0c;这个数字背后折射出当前技术转型的残酷现实。作为一名有5年Java后端开发经验的工程师&#xff0c;我最初以为凭借扎实的编程基础转向AI Agent领域会相对顺利&#xff0c;但现实给了我一记响亮的耳光。…

作者头像 李华
网站建设 2026/7/24 2:29:26

德州仪器bq2750x阻抗跟踪算法:实现锂电池电量精准计量的核心技术

1. 项目概述&#xff1a;为什么我们需要一个“聪明”的电量计&#xff1f;在智能手机、蓝牙耳机或者任何依赖锂电池供电的设备上&#xff0c;那个小小的电量百分比图标&#xff0c;可能是我们每天最关心的信息之一。你有没有遇到过这样的场景&#xff1a;手机显示还有20%的电&a…

作者头像 李华
网站建设 2026/7/24 2:26:43

TI TMUXHS4212高速开关评估模块实战:信号完整性测试与多协议兼容性设计

1. 项目概述与核心价值在当今追求极致性能和紧凑设计的硬件世界里&#xff0c;高速数字接口的灵活切换能力变得至关重要。想象一下&#xff0c;你的设备只有一个USB Type-C接口&#xff0c;却需要同时或分时连接高速存储、高清显示和高速网络&#xff0c;这背后就需要一个“交通…

作者头像 李华
网站建设 2026/7/24 2:26:16

智谱API Key获取与使用全攻略

1. 智谱API Key获取与使用指南智谱AI作为国内领先的大模型服务提供商&#xff0c;其开放的API接口为开发者提供了便捷的AI能力调用途径。本文将详细介绍如何免费获取智谱API Key&#xff0c;并分享实际使用中的关键技巧和避坑指南。1.1 智谱API的核心能力智谱API基于GLM系列大模…

作者头像 李华
网站建设 2026/7/24 2:24:21

支付业务-预付卡

预付卡&#xff08;也称储值卡&#xff09;是一种预先充值、先付费后消费的支付工具&#xff0c;其核心特点和运作机制如下&#xff1a;一、核心定义与特点​​预付性质​​持卡人需在消费前将资金存入卡内&#xff08;如充值、购买&#xff09;&#xff0c;消费时直接从卡内余…

作者头像 李华