下一个更大的数
定义一个Solution类,用于实现next_great方法
class Solution:
def next_great(self, nums1, nums2):
初始化一个空字典answer,用于存储答案
answer = {}
初始化一个空列表stack,用于存储待比较的数字
stack = []
遍历nums2中的数字
for x in nums2:
当stack非空且stack[-1]<x时,说明stack中的数字小于x,将其加入答案字典并删除stack
while stack and stack[-1] < x:
answer[stack[-1]] = x
del stack[-1]
stack.append(x)
遍历stack中的数字,将其加入答案字典并设置为-1
for x in stack:
answer[x] = -1
返回nums1中数字的答案
return [answer[x] for x in nums1]
定义一个主函数,用于测试Solution类的next_great方法
if name == 'main ':
定义一个示例数组nums1和nums2
nums1 = [4, 1, 2]
nums2 = [1, 3, 4, 2]
创建一个Solution类的实例solution
solution = Solution()
调用next_great方法,传入nums1和nums2作为参数
list_ = solution.next_great(nums1, nums2)
打印答案
print(list_)