Posts

Showing posts from February, 2022

Data structure problem 3: Implement a Stack With Minimum

Image
  Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. Implement the MinStack class: MinStack() initializes the stack object. void push(int val) pushes the element val onto the stack. void pop() removes the element on the top of the stack. int top() gets the top element of the stack. int getMin() retrieves the minimum element in the stack. Input ["MinStack","push","push","push","getMin","pop","top","getMin"] [[],[-2],[0],[-3],[],[],[],[]] Output [null,null,null,null,-3,null,0,-2] Explanation MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); // return -3 minStack.pop(); minStack.top();    // return 0 minStack.getMin(); // return -2 Solution: var  MinStack =  function ( )  { this .elements = []; }; /** @param {number} x @return {void} */ MinStack.prototype.push = function ( x ) { this .element

Projection in MongoDB

Image
In MongoDB, projection means selecting only the necessary data rather than  selecting the whole of the data of a document. If a document has 5 fields and  you need to show only 3, then select only 3 fields from them. You may also like MongoDb insert. 1 )Projection in find . Here 0 means not to project i . e exclusion and 1 means project i . e inclusion as per MongoDB . Projection cannot have a mix of inclusion and exclusion but only the _id field can exclude with inclusion . db . collection( "companies" ) . find({name: "Dvara SmartGold" },{projection: { _id: 0 , id : 1 , name: 1 } }) . toArray() Or db . collection( "companies" ) . find({name: "Dvara SmartGold" }) . project({_id: 0 , id : 1 , name: 1 }) . toArray() This will give us all documents inside companies collection as per filter with only name and id fields . 2 )Projection in findOne . db . collection( "companies" ) . findOne({name: &qu