Skip to content

Latest commit

 

History

History
31 lines (29 loc) · 710 Bytes

503.next-greater-element-ii.md

File metadata and controls

31 lines (29 loc) · 710 Bytes

Clarification Questions

  • No, it's clear from problem description.

Test Cases

Normal Cases

Input: 
Output: 

Edge / Corner Cases

Input: 
Output: 
fun nextGreaterElements(nums: IntArray): IntArray {
    val results = IntArray(nums.size) { _ -> -1 }
    val stack = Stack<Int>()
    for (i in 0 until nums.size * 2) {
        val nextGreaterElement = nums[i % nums.size]
        while (!stack.isEmpty() && nums[stack.peek()] < nextGreaterElement) {
            results[stack.pop()] = nextGreaterElement
        }
        stack.push(i % nums.size)
    }
    return results
}