Interesting Python Implementation for Next Greater Elements


In this article, we will learn about defining and user-defined functions to predict the next greatest element.

Problem statement

We are given an array & we need to print the Next Greater Element for every element present in the array. The Next greater Element for an arbitrary element y is the first greatest element present on the right side of x in array. Elements for which no greatest element exist, return -1 as output.4

Input test case

[12,1,2,3]

Output

12 -> -1
1 -> 3
2 -> 3
3 -> -1

Now let’s observe the source code.

Example

# Function
Def elevalue(arr):
   # Iteration
   for i in range(0, len(arr)):
      # slicing max
      final = max(arr[i:])
   # greatest check
   if (arr[i] == final):
      print("% d -> % d" % (arr[i], -1))
   else:
      print("% d -> % d" % (arr[i], final))
# Driver program
def main():
   arr = [12,1,2,3]
   elevalue(arr)
   arr = [1,34,2,1]
   elevalue(arr)
if __name__ == '__main__':
      main()

Output

12 -> -1
1 -> 3
2 -> 3
3 -> -1
1 -> 34
34 -> -1
2 -> -1
1 -> -1

Conclusion

In this article, we learned about interesting python implementation for next greater elements by using a user-defined function.

Updated on: 29-Aug-2019

50 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements