Python算法指南:程序员经典算法分析与实现
上QQ阅读APP看书,第一时间看更新

例22 下一个更大的数

1. 问题描述

给定一个环形数组(最后一个元素的下一个元素是数组的第一个元素),为每个元素打印下一个更大的元素。数字x的下一个更大的数,是遍历数组的过程中出现的第一个更大的数字,这意味着可以循环搜索以查找其下一个更大的数字;如果它不存在,则为此数字输出-1。注意给定数组的长度不超过10000。

2. 问题示例

输入[1,2,1],输出[2,-1,2],第一个1的下一个更大的数字是2;数字2找不到下一个更大的数字;第二个1的下一个更大的数字需要循环搜索,答案也是2。

3. 代码实现

4. 运行结果

输入的数组是:[1,2,1]

计算后的结果:[2,-1,2]