描述
給定一個環形陣列(最后一個元素的下一個元素是陣列的第一個元素),為每個元素列印下一個更大的元素, 數字x的下一個更大的數是陣列中下一個遍歷順序中出現的第一個更大的數字,這意味著您可以回圈搜索以查找其下一個更大的數字, 如果它不存在,則為此數字輸出-1,
說明
給定陣列的長度不超過10000,
樣例
- 例1:
輸入: [1,2,1]
輸出: [2,-1,2]
解釋:第一個1的下一個更大的數字是2;
數字2找不到下一個更大的數字;
第二個1的下一個更大的數字需要回圈搜索,答案也是2,
- 例2:
輸入: [1]
輸出: [-1]
解釋:
數字1找不到下一個更大的數字
決議
const nextGreaterElements = function (nums) {
var res = [];
var _nums = nums.concat(nums);
for(var i=0;i<nums.length;i++){
var flag = true;
for(var j=i+1;j<_nums.length;j++){
if(nums[i]<_nums[j]){
res.push(_nums[j]);
flag = false;
break;
}
}
if(flag) res.push(-1);
}
return res;
}
運行結果


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/80182.html
標籤:其他
上一篇:DOM獲取頁面元素
