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

题目内容

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

解题思路

这道题使用单调栈求解。维护单调栈核心思想是,如果当前遍历的数字,大于栈顶的数字,并且栈顶的数字出现的次数大于等于2,则将栈顶的元素出栈

首先,遍历整数数组中的每个数字,检查当前数字是否已经出现了两次。如果是,则跳过这个数字。如果不是,则进行以下操作:

a. 检查当前数字是否大于结果列表中的最后一个数字,且最后一个数字的剩余出现次数大于2。如果满足条件,说明可以移除最后一个数字,并减少其出现次数。

b. 将当前数字添加到结果列表中,并更新其出现次数。

参考代码

import 
华为OD - 最大相连男生数(Python)| 真题+思路+代码 最大相连男生数 题目 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。 这个相连位置在一个直线上,方向可以是水平的、垂直的、成对角线的或者反对角线的。 注:学生个数不会超过 10000。 输入 输入的第一行为矩阵的行数和列数,接下来的 n 行为矩阵元素,元素间用,分隔。 阅读详情

相关推荐

华为OD -最大数字(Python)| 真题+思路+代码

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

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 4414

2023华为OD真题-最大数字(JAVA、Python、C++)

每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为:IDi IDj,表示部署任务i部署完成了,部署任务j才能部署,IDi 和 IDj 值的范围为:[0, taskNum)我们可以先同时部署任务项0和任务项1,然后部署任务项2,最后同时部署任务项3和任务项4。我们可以先同时部署任务项0,任务项1,任务项2。

huaweiod123的博客 322

华为OD -最大连续bit数 - 二进制(Java 2024 E卷 100分)

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

学Java,找哪吒 2370

100%通过率】华为OD真题 JS 实现【删除重复数字后的最大数字】【2023 Q1 | 200分】

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

MISAYAONE的博客 7356

100%通过率 】【华为OD真题 c++ 】最大数字2023 Q1 A卷|200分】

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

goldarmour的博客 862

华为OD真题大全,用 Python 解华为题 | 宝典

华为OD华为OD 华为OD 华为OD算法 华为OD编程题 华为OD岗位要求 华为OD职位评估 华为OD考试经验分享 华为OD在线测 华为OD评估标准 华为OD评测系统 华为OD筛选华为OD编程语言要求 华为OD数据结构与算法 华为OD程序设计 华为OD程序优化 华为OD编程能力考核 华为OD编程技巧与经验

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

华为OD真题2023 B卷(JAVA&JS)

华为OD题库已由2022Q4 A卷 切换 为2023 B卷,题目都是真题,已由上千位同学认证!

qq_34465338的博客 4万+

2026华为OD(Python)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,Python实现。

MISAYAONE的博客 28万+

华为OD真题2023JavaScript)

华为有三道题目,第一道和第二道属于简单或中等题,分值为100分,第三道为中等或困难题,分值为200分。总分为400分,150分钟考试时间。之前通过为150分,现在好像分数提高了,大家不要太大意,一定要多刷题,争取拿高分,毕竟分数越高评级越高,工资也就越高。

weixin_40767375的博客 9780

华为OD(2022&2023真题目录 + 考点 + 复盘思路

华为OD,千百炼

学Java,找哪吒 9468

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

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

学Java,找哪吒 834

100%通过率】华为od真题 C++ 实现【组成最大数】

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

MISAYAONE的博客 1089

python 【组成最大数】

【组成最大数】 小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。输入描述: ","号分割的多个正整数字符串,不需要考虑非数字异常情况,小组最多25个人. 输出描述: 最大数字字符串 示例1: 输入:22,221 输出:22221 num = input() nums = num.split(',') nums = [int(nums[i]) for i in range(len(nums))] for i in range(len(nums)):

m0_56697043的博客 3969

华为OD模拟题】用 C++ 实现 -最大数字

最大数字 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533 请返回经过删除操作后的最大的数值,以字符串表示。 输入 第一行为一个纯数字组成的字符串,长度范围:[1,100000] 输出 输出经过删除操作后的最大的数值

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 3996

【独家】华为OD提供C语言题解 -最大数字

参加华为od,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现。次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。请返回经过删除操作后的最大的数值,以字符串表示。👍 阅读完毕,可以点点小手赞一下。🌻 发现错误,直接评论区中指正吧。从订购之日起,案例5年内保证更新。输出经过删除操作后的最大的数值。次,需要删除其中一个。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 5303

2023华为OD真题Java-题目0200-最大数字

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

amos_cloud的博客 743
上一篇: 华为OD机试真题-异常的打卡记录 【2023.Q1】
下一篇: 华为OD机试真题-字符串解密 【2023.Q1】
IkunAlgorithm
博客等级 码龄3年 33粉丝 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值