索引按值排序,维护索引递增栈。时间复杂度O(nlogn)代码如下,顺便说一下,楼主给的答案少了一个.. def nextProgram(l:list): l = sorted(list(enumerate(l)), key=lambda x:x[1]) res = [-1] * len(l) stack = [] for i,e in l: while len(stack) > 0 and stack[-1] < i: index = stack.pop() res[index] = e stack.append(i) return res print(nextProgram([11,13,10,5,12,21,3])) #[12, 21, 12, 12, 21, -1, -1]

相关推荐

02-19 19:57
门头沟学院 Java
点赞 评论 收藏
分享
02-05 08:18
四川大学 Java
在思考的熊熊很讨厌吃香菜:不是,我门头沟学院呢?这都没排上?
点赞 评论 收藏
分享
牛客网
牛客企业服务