# Implement a maximum value aware stack

This article looks at the interview question - *Implement a stack that can return its maximum value in constant time*.

My name is Daniel Imms, I'm a software engineer from Australia. I live in Redmond and work at Microsoft on Visual Studio Code. I use this blog as a platform to learn, revise and teach various software development topics.

Published

This article looks at the interview question - *Implement a stack that can return its maximum value in constant time*.

Published

Five years have passed since I posted my first article on the blog. Time for a retrospective!

Published

Visual Studio Code’s integrated terminal can be launched with ` ctrl+``. This article goes into some of the lesser known things you can do with the terminal.

Published

LSD radix sort is a stable distribution sort similar to bucket sort, that distributes values into buckets based on the digits within the value.

Published

Odd-even sort is an O(n^2) variation of the bubble sort sorting algorithm.

Published

Comb sort is an O(n^2) variation of the bubble sort sorting algorithm.

Published

The binary heap data structure supports a *build heap* operation that runs in O(n). Intuitively it might seem that it should run in O(n \log n) time since it performs an O(\log n) operation n/2 times. This article provides a proof of the linear run time.

Published

GitHub wikis are great for documentating projects due to their ease of use and high visibility. The problem is though that there are only two options for access; full access for everyone or restricted to collaborators only. Unfortunately it’s rarely the case you want the public to have full edit access to the wiki, and restricted prevents external contributions completely. This article describes how I recently got around this to enable contributions to the Visual Studio Code wiki via pull requests.