国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Leetcode-Algorithms Next Greater Element I

2019-11-08 02:00:31
字體:
來源:轉載
供稿:網友

You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1’s elements in the corresponding places of nums2.

The Next Greater Number of a number x in nums1 is the first greater number to its right in nums2. If it does not exist, output -1 for this number.

Example 1: Input: nums1 = [4,1,2], nums2 = [1,3,4,2]. Output: [-1,3,-1] Explanation: For number 4 in the first array, you cannot find the next greater number for it in the second array, so output -1. For number 1 in the first array, the next greater number for it in the second array is 3. For number 2 in the first array, there is no next greater number for it in the second array, so output -1.

Example 2: Input: nums1 = [2,4], nums2 = [1,2,3,4]. Output: [3,-1] Explanation: For number 2 in the first array, the next greater number for it in the second array is 3.

Note: All elements in nums1 and nums2 are unique. The length of both nums1 and nums2 would not exceed 1000.

給出兩個不含重復元素的array nums1, nums2。 nums1 是nums2的子集(nums2包含nunms1的所有元素)。

Next Greater Element 指的是找出在nums1里面的每個元素在nums2中相同元素的右邊比它本身大的元素, 如果沒有或者比其小則為-1。

class Solution(object): def nextGreaterElement(self, findNums, nums): """ :type findNums: List[int] :type nums: List[int] :rtype: List[int] """ result = [] for c in findNums: pos = nums.index(c) while pos <= (len(nums) - 1): if pos == len(nums) - 1: result.append(-1) break else: if nums[pos+1] > c: result.append(nums[pos+1]) break else: pos += 1 return result

附上leeetcode答案 O(n):

d = {} st = [] ans = [] for x in nums: while len(st) and st[-1] < x: d[st.pop()] = x st.append(x) for x in findNums: ans.append(d.get(x, -1)) return ans
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和静县| 同德县| 新平| 鄯善县| 余江县| 宜昌市| 郯城县| 峨边| 射阳县| 昌平区| 榆树市| 虞城县| 辰溪县| 宝清县| 梨树县| 惠州市| 长泰县| 女性| 郓城县| 澜沧| 隆化县| 鹤峰县| 西林县| 平泉县| 资兴市| 银川市| 郓城县| 新沂市| 张家界市| 西充县| 本溪| 中西区| 鹿泉市| 三亚市| 华蓥市| 辽源市| 正阳县| 盐源县| 句容市| 长海县| 德钦县|