下一个更大的元素

题目:

给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。

nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 大的元素。如果不存在,对应位置输出-1。

解题思路:

1、首先是需要有一个结果列表

2、关键函数:

2.1)index--得到X元素在X列表中的位置

s = [1,2,3,4]

print(s.index(2))  ----->结果:1

2.2)列表的循环

for i in range(start,end):

  print(i)

  print(s[i])

代码:

class Solution(object):
def nextGreaterElement(self, nums1, nums2):
res = []
length = len(nums2)
for i in nums1:
s_index = nums2.index(i)+1
if s_index < length:
for j in range(s_index, length):
if nums2[j] > i:
res.append(nums2[j])
break
elif j == length - 1:
res.append(-1)
else:
res.append(-1)
print(res)
return res

posted on 2018-12-24 12:02  罗盼  阅读(141)  评论(0编辑  收藏  举报

导航