Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

Implement a stack with push (), pop() and min() in O(1) time.

Answer Posted / Makeshwar Tanti

To implement a stack with `push`, `pop`, and `min` operations in O(1) average time, you can use a combination of LinkedList for the data structure and TreeSet to store the minimum element. Here's an implementation:n```nclass MinStack {n private final Stack<Integer> data = new Stack<>();n private final TreeSet<Integer> min = new TreeSet<>();n public void push(int val) {n data.push(val);n if (min.isEmpty() || min.last() > val) {n min.add(val);n }n min.add(min.tailSet(val).last());n }n public int pop() {n int top = data.pop();n min.remove(top);n return top;n }n public int min() {n return min.first();n }n}n```

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is java string pool?

1069


Is minecraft 1.15 out?

1025


How to create a base64 decoder in java8?

1119


What is the difference between break and continue statements?

1108


Realized?

2241


Differentiate between static and non-static methods in java.

1108


How to sort array in descending order in java?

979


Write a program to print count of empty strings in java 8?

1073


explain different ways of using thread? : Java thread

1069


Write a java program to find the route that connects between Red and Green Cells. General Rules for traversal 1. You can traverse from one cell to another vertically, horizontally or diagonally. 2. You cannot traverse through Black cells. 3. There should be only one Red and Green cell and at least one of each should be present. Otherwise the array is invalid. 4. You cannot revisit a cell that you have already traversed. 5. The maze need not be in the same as given in the above example

2654


What is parsing in java?

1022


Write a program to find the whether a number is an Armstrong number or not?

1086


Explain public static void main(string args[]) in java.

1054


What is a constructor overloading in java?

1117


What are the differences between heap and stack memory in java?

1114