LeetCode 496 Next Greater Element I
来源:互联网 发布:淘宝开店成功案例 编辑:程序博客网 时间:2024/06/03 13:46
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. For number 4 in the first array, there is no next greater number for it in the second array, so output -1.
Note:
- All elements in
nums1
andnums2
are unique. - The length of both
nums1
andnums2
would not exceed 1000.
题目分析:记录nums2每个数字出现的下标,对nums1中的每个数字先获取位置然后往后找,击败了99.5%
public class Solution { public int[] nextGreaterElement(int[] findNums, int[] nums) { int n = findNums.length, m = nums.length; int[] ans = new int[n]; int[] pos = new int[10000]; for (int i = 0; i < m; i ++) { pos[nums[i]] = i; } for (int i = 0; i < n; i ++) { int p = pos[findNums[i]]; if (p == m - 1) { ans[i] = -1; } else { boolean find = false; int j = p + 1; for (; j < m; j ++) { if (nums[p] < nums[j]) { find = true; break; } } ans[i] = find ? nums[j] : -1; } } return ans; }}
阅读全文
0 0
- leetcode-496-Next Greater Element I
- Leetcode #496 Next Greater Element I
- leetcode[496]:Next Greater Element I
- 【LeetCode】496 Next Greater Element I
- leetcode 496 Next Greater Element I
- LeetCode 496 Next Greater Element I
- LEETCODE--Next Greater Element I
- [LeetCode] Next Greater Element I
- LeetCode:Next Greater Element I
- 【leetcode】Next Greater Element I
- LeetCode Next Greater Element I
- Next Greater Element I(leetcode)
- LeetCode-Next Greater Element I
- LeetCode 496: Next Greater Element I (下一个大的元素)
- LeetCode.496(503、556) Next Greater Element I && II && III
- 【Leetcode】496. Next Greater Element I
- leetcode -- 496. Next Greater Element I 【栈】
- 【LeetCode】496. Next Greater Element I
- sendRedirect和forward的区别
- Codeforces Gym 101174 B. Bribing Eve
- Java注解(Annotation)详解(二)——自定义注解
- 关于环境变量的作用
- Android MVP 解析+ 样例展示
- LeetCode 496 Next Greater Element I
- test1
- IntelliJ IDEA的安装环境要求
- uva11825(状态压缩+枚举子集)黑客的攻击
- MySQL、oracle分页原生查询
- weblogic 修改密码
- fragment给activity设置toolbar并配置menu
- Axis2发布webservice(4)—WebService的session管理
- valid.js表单验证