下一个更大值

下一个更大值

 1process.stdin.resume();  2process.stdin.setEncoding('utf-8');  3let input = '';  4  5process.stdin.on('data', (data) => {  6 input += data;  7});  8  9process.stdin.on('end', () => { 10 let inputArray = input.trim().split(' '); 11 let result = nextGreaterElementsInterval(inputArray); 12 console.log(result.join(' ')); 13 process.exit(); 14}); 15 16function nextGreaterElementsInterval(nums) { 17 const n = nums.length; 18 const result = new Array(n).fill(0); 19 const stack = []; 20 21 for (let i = 0; i < n; i++) { 22 while (stack.length > 0) { 23 const index = stack[stack.length - 1]; 24 if (nums[i] > nums[index]) { 25 result[index] = i - index; 26 stack.pop(); 27 } else { 28 break; 29 } 30 } 31 stack.push(i); 32 } 33 34 return result; 35}
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.trim().split(' '); let result = nextGreaterElementsInterval(inputArray); console.log(result.join(' ')); process.exit(); }); function nextGreaterElementsInterval(nums) { const n = nums.length; const result = new Array(n).fill(0); const stack = []; for (let i = 0; i < n; i++) { while (stack.length > 0) { const index = stack[stack.length - 1]; if (nums[i] > nums[index]) { result[index] = i - index; stack.pop(); } else { break; } } stack.push(i); } return result; }

Powered By 可尔物语

浙ICP备11005866号-12