原题地址:https://leetcode.com/problems/next-greater-element-i/description/
大意:依次找nums1里面的值,如果nums2的面该值后面还有比这个值还大的数,把这个数加到返回的数组中,没有的话,返回-1.
思路:
找下一个,那就next()
,比这个数大,比较一下,再用上分片,很简单。
class Solution:
def nextGreaterElement(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
r_list = []
for item in nums1:
r_list.append(next((j for j in nums2[nums2.index(item):] if j > item),-1))
return r_list
四行代码就能解决问题。
知识点:
-
next()
的用法 - 分片表达式
网友评论