华为OD机试 - 求最大数字 - 贪心算法、单调栈(Python/JS/C/C++ 2025 B卷 100分)

AI摘要

本博客介绍了华为OD机试中的一道编程题,要求通过贪心算法和单调栈技术,对给定的数字字符串进行处理,删除重复数字,保留最大数值。提供了Python、JavaScript、C和C++四种语言的解题代码。

一、题目描述

给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除,删除某个重复的数字后,其它数字相对位置保持不变。

如"34533",数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值"4533",请返回经过删除操作后的最大的数值,以字符串表示。

二、输入描述

第一行为一个纯数字组成的字符串,长度范围:[1,100000]。

三、输出描述

输出经过删除操作后的最大的数值。

四、测试用例

测试用例1

1、输入

12345

2、输出

12345

3、说明

所有数字都不重复

测试用例2

1、输入

111222333

2、输出

112233

3、说明

多个数字重复超过2次

五、解题思路

使用贪心算法优先保留较大的数字在前面,贪心策略确保局部最优解能得到全局最优解

通

单调栈详解 快速定位数组中元素的下一个更大/更小值,将暴力解法 O(n²) 优化至。基础 → [LeetCode 496] → [LeetCode 739]进阶 → [LeetCode 503] → [LeetCode 84]:对每个柱子,找左右第一个比它矮的柱子,确定宽度边界。找左侧 → 正向遍历;找右侧 → 反向遍历;比它大 → 单调减;比它小 → 单调增。中每个元素找右侧第一个更大值,返回。:循环数组中找每个元素的下一个更大值。:计算每日需等待几天才有更高温度。:在柱状图中找到面积最大的矩形。 阅读详情

相关推荐

左神面试算法整理---单调栈

【题目】 小B负责首都的防卫工作。 首都处于一个四面环山的盆地中,周围的n个小山构成一个环,作为预警措施,小B计划在每个小山上设置一个观察哨,日夜不停的瞭望周围发生的情况。 一旦发生外敌入侵事件,山顶上的岗哨将点燃烽烟。 若两个岗哨所在的山峰之间的那些山峰,高度都不大于这两座山峰,且这两个山峰之间有相连通路,则岗哨可以观察到另一个山峰上的烽烟是否点燃。 由于小山处于环上,任意两个小山之间

qq_35314344的博客 4814

C++训练64天复盘:从环境配置到算法与多线程实战

从概念到原理,C++的学习不仅是API的堆砌,更需要对内存管理、数据结构与并发机制有系统认知。栈空间大小限制、智能指针的所有权语义、回调函数的生命周期、CAS操作中的ABA问题,都是工程实践中高频出现的难点。理解这些底层机制,能帮助开发者写出更健壮的高性能程序,广泛应用于后端服务、嵌入式系统与客户端开发。本文以64天训练记录为线索,梳理从VSCode编译调试环境配置、字符串链表易错点到冒泡/归并/快速幂等算法,再到多线程与IO提速的完整路径,将零散知识点串联成可复用的C++技能图谱。适合正在系统学习C++或

weixin_34221654的博客 236

华为OD机试 - 求最大数字 - 贪心算法、单调栈(Java 2025 B卷 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 842

华为OD机试真题-最大数字 【2023.Q1】

a. 检查当前数字是否大于结果列表中的最后一个数字,且最后一个数字的剩余出现次数大于2。如果满足条件,说明可以移除最后一个数字,并减少其出现次数。首先,遍历整数数组中的每个数字,检查当前数字是否已经出现了两次。给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;如”34533″,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值”4533″。删除某个重复的数字后,其它数字相对位置保持不变。请返回经过删除操作后的最大的数值,以字符串表示。

IkunAlgorithm的博客 261

【华为OD机试真题 Java】组成最大的数

小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。

A_D_I_D_A_S的博客 241

【华为OD机试真题 Java】字符串删除后的最大值

给定一个由纯数字组成以宇符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如"34533”,数字3重复超过2次,需要册除其中一个3,删除第一个3后获得最大数值"4533"。请返回经过删除操作后的最大的数值,以字符串表示。

qq_40642440的博客 510

C++基础算法 | 单调栈(Monotonous Stack)

第一步和第三步一定有,第二步存结果,变形的话在于第一步

小麦China的博客 668

【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【单调栈】2024D-找朋友【欧弟算法】全网注释最详细分类最全的华为OD真题题解

有LeetCode算法/华为OD考试扣扣交流群可加可上全网独家的练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 1834

【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【单调栈】2024D-回转寿司【欧弟算法】全网注释最详细分类最全的华为OD真题题解

有LeetCode算法/华为OD考试扣扣交流群可加可上全网独家的练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 1673

【Py/Java/C++三种语言OD独家2024E卷真题】20天拿下华为OD笔试之【单调栈】2024E-回转寿司【欧弟算法】全网注释最详细分类最全的华为OD真题题解

可上练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 868

【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试【单调栈】2023C-找最小数【欧弟算法】全网注释最详细分类最全的华为OD真题题解

60+天陪伴式学习,40+直播课时,300+动画图解视频,300+LeetCode经典题,200+华为OD真题/大厂真题,还有简历修改、模拟面试、专属HR对接将为你解锁。每期人数维持在20人内,保证能够最大限度地满足到每一个同学的需求,达到和1v1同样的学习效果!目前开始常态化报名!目前已服务100+同学成功上岸!课程讲师为全网50w+粉丝编程博主@输出一个数字字符串,记录最小值。位数字后的结果,需要使得。单调栈所占用的额外空间。以及小红书头部编程博主@练习华子OD、大厂真题。

weixin_48157259的博客 794

【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【单调栈】2023C-找朋友【欧弟算法】全网注释最详细分类最全的华为OD真题题解

可上全网独家的练习华子OD、大厂真题绿色聊天软件戳od1336了解算法冲刺训练。

weixin_48157259的博客 1208

【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【单调栈】2024D-找最小数【欧弟算法】全网注释最详细分类最全的华为OD真题题解

可上练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 726

【数据结构与算法】之深入解析“每日温度”的求解思路与算法示例

一、题目要求 给定一个整数数组 temperatures,表示每天的温度,返回一个数组 answer,其中 answer[i] 是指在第 i 天之后,才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73] 输出: [1,1,4,2,1,1,0,0] 示例 2: 输入: temperatures = [30,40,50,60] 输出: [1,1,1,0] 示例 3: 输入:

╰つ栺尖篴夢ゞ 1396

C++基础数据结构 | 数据结构入门篇

C++基础数据结构算法 | 数据结构入门篇

小麦China的博客 288

【蓝桥杯选拔赛真题64】C++最大空白区 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解

本文介绍了蓝桥杯青少年创意编程大赛C++选拔赛的一道真题:在给定NM矩阵中寻找最大空白矩形区域。文章详细解析了题目要求,提出使用动态规划和单调栈结合的算法思路,通过计算每行连续0的高度并应用单调栈求最大矩形面积。给出了完整的C++实现代码,包括输入处理、高度数组维护和面积计算等关键步骤,最后展示了样例运行结果。文末总结了考察的知识点,包括动态数组、栈结构、循环控制等编程基础技能的运用。该解法时间复杂度为O(NM),能高效解决该问题。

青少年编程学习指导 1082

华为OD机试 - 找朋友- 单调栈(Python/JS/C/C++ 2025 C卷 100分)

单调栈适用于查找“下一个更大/小元素”等类似问题,能够在一次遍历中完成任务。

学Java,找哪吒 1369

【AI实战派】从零部署YOLOv8:香橙派AIpro边缘端目标检测全流程解析

本文详细解析了在香橙派AIpro边缘设备上从零部署YOLOv8目标检测模型的全流程。内容涵盖硬件开箱、环境搭建、模型转换(ONNX到昇腾OM格式)以及编写Python推理脚本,并提供了性能优化与实战技巧,帮助开发者高效实现实时边缘AI应用。

weixin_29183637的博客 327

基于YOLO11的垃圾分类AI模型训练实战

通过这次实战,我们成功训练出了一个高性能的垃圾分类AI模型。项目展示了从数据准备、模型训练到结果分析的完整流程,为AI在环保领域的应用提供了有价值的参考。项目文件结构│ ├── best.pt # 最佳模型权重│ └── last.pt # 最新模型权重├── results.csv # 详细训练数据├── results.png # 训练曲线图├── confusion_matrix.png # 混淆矩阵└── args.yaml # 训练参数配置。

lydz1的博客 1657

DataWorks数据安全治理最佳实践

DataWorks基于数据安全治理的常见思路,针对资产梳理、技术体系建设和运营体系建设,提供了一系列数据安全产品能力,您可通过“基础防护建设、数据安全防护措施及策略增强建设、数据安全持续运营”三个阶段在DataWorks上落地数据安全治理项目。参考本文启动数据安全治理项目前,建议您先了解DataWorks数据安全产品相关能力了解DataWorks数据安全产品能力后,您可参考如下三个阶段在DataWorks上落地数据安全治理项目。

soso1968的博客 1438

南京理工大学计算机预推免面试(双非重点关注)

南京理工大学总体来说对双非学校比较友好,上岸率比较高,而且面试形式是线上,在预推免的过程中,可以作为重点关注的学校,但是一定要注意南理报名截止的时间,部分学校可能保研名额公示的比较晚,对于保研边缘人来说很可能会错过,我的建议是,即使不确定能否拿到保研名额,先查一下截止时间,先在系统上报名!!一旦拿到了offer,就是铁的,保底专硕,而且有很大的技巧性,一定要认真看哈!!!每个人的情况可能都不一样,如果有需要帮忙可以私我~~~

D1379951481的博客 2017

中小企业办公网络配置综合实验华为设备(NAT+策略路由+OSPF+VLAN)

组网需求: 1、PC1、2、3、4均可以访问internet的lo0:8.8.8.8 2、PC1、PC4通过电信ISP访问internet;PC2、PC3通过联通ISP访问internet; 需求分析: 1、internet路由器模拟公网,8.8.8.8模拟公网IP;电信ISP、联通ISP路由器模拟电信和联通运营商;出口路由为企业出口路由器;这四个路由器直连链路之间运行ospf,配置动态路由,实现互通; 2、出口路由与三层交换直连链路运行ospf,动态同步路由信息; 3、出口路由器内网端口配..

A soul tortured by desire 7124

cuRobo 入门教程(二)基于CUDA的机器人运动规划加速库

cuRobo是一款基于CUDA加速的机器人算法库,提供正向/逆向运动学、碰撞检测、数值优化等核心功能,支持在NVIDIA Jetson Orin等平台上实现毫秒级运动规划。该库创新性地采用并行轨迹优化技术,结合nvblox工具实现深度摄像头避障功能,并通过多层ESDF结构处理动态障碍物。性能测试显示,在RTX 6000 Ada显卡上可实现99.85%的成功率,平均规划时间仅39毫秒。cuRobo还提供Python API支持神经网络集成,并具备批量环境处理能力,特别适用于工业机器人应用场景。最新版本通过算法

2506_90492529的博客 1295

微信小程序启用蓝牙设备特征值变化时的notify功能

注意:这里的serviceUUID、notifyCharacteristicUUID 我会在后面写入数据时做重点说明。isNotifyBLECharacteristic:false, //是否启用蓝牙设备服务特征 notify。二、启用蓝牙设备特征值变化时的notify功能。下一篇 将继续介绍 微信小程序蓝牙设备写入数据。

wsk198726的专栏 1171

AutoSAR系列讲解 - 资料下载

学习资料下载汇总

雪云飞星的博客 4万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 华为OD机试 - 找出通过车辆最多颜色 - 滑动窗口(Python/JS/C/C++ 2024 C卷 100分)
下一篇: 华为OD机试 - 求最小步数(Python/JS/C/C++ 2025 B卷 100分)
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2933原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值