[503. 下一个更大元素 II]https://leetcode-cn.com/problems/next-greater-element-ii/
找某一元素的下一个更大元素:只需从该元素向后扫描,再从开头扫到该元素前一个位置,如果找到大于该元素的第一个元素,则停止,否则返回-1。
代码:
class Solution {
public int[] nextGreaterElements(int[] nums) {
int[] nextGretEleArr = new int[nums.length];
for(int i=0;i<nums.length;i++){
boolean isFind = false;
for(int j=i+1;j<nums.length;j++){
if(nums[j]>nums[i]){
nextGretEleArr[i] = nums[j];
isFind = true;
break;
}
}
if(isFind == false){
for(int j=0;j<i;j++){
if(nums[j]>nums[i]){
nextGretEleArr[i] = nums[j];
isFind = true;
break;
}
}
}
if(isFind == false){
nextGretEleArr[i] = -1;
}
}
return nextGretEleArr;
}
}
9|8|5|12|11|5|6
:-??:-??
原文:https://www.cnblogs.com/WhiteThornZzf/p/14490123.html