华为OD机试 Python 【阿里巴巴找黄金宝箱(IV)】

这是一篇关于华为在线开发者(OD)测试中的一道Python算法题。题目要求给定一个循环数组,找出每个元素后面的第一个大于它的数字。若不存在,则返回-1。例如,对于输入1,2,3,1,输出应为2,3,-1,2。文章将展示如何用Python实现这一算法。" 45391325,5021191,Android dp与px转换计算,"['Android开发', '图形渲染', 'UI设计', '单位转换']
摘要由CSDN通过智能技术生成

题目

阿里巴巴这个贫穷的伐木工,正在砍柴的途中偶然发现了一个强盗的宝藏。这个宝藏是一圈圈的箱子,从0开始编号到N。每个箱子上都贴了一个数字。关键的问题是,阿里巴巴想知道,每个箱子上的数字后面的第一个比它大的数字是什么。如果没有,就告诉他“-1”。

题目要求:
给你一串数字(它们就是箱子上的那些数字),每个数字后面的第一个比它大的数字是什么?记住,这是一个循环的箱子排列,所以最大编号的箱子后面其实是编号为0的箱子。

输入:
一串数字,用逗号隔开。如:1,2,3,1

输出:
每个数字后面的第一个比它大的数字。用逗号隔开。如果没有就是-1。如:2,3,-1,2

示例:
输入:2,5,2
输出:5,-1,5
原因是,第一个2后面的比它大的数字是5;5后面没有比它大的;第二个2循环回去后找到的还是5。

代码

def nextGreaterElement
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

codereasy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值