A stack is an abstract data type that stores an ordered collection of items which follow first in last out (FILO) or last in first out (LIFO) principle; with two principal operations: push, which adds an item to the stack, and pop, which removes the most recently added item.

Dijkstra's algorithm is an algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks. It was conceived by computer scientist Edsger W. Dijkstra in 1956 and published three years later. The algorithm exists in many variants.

Autocomplete or suggestion or typeahead offers a number of possible values while typing. I am going to solve this problem using trie data structure and algorithm.

Web Worker API is a JavaScript web API for running multiple tasks simultaneously without affecting the performance of the apps.

The Beacon API is a JavaScript web API for sending data from the browser to the web server without expecting to get a response. It is used to send analytics, diagnostics, and logging data which doesn't need a response.

On a 2-dimensional grid, there are 4 types of squares. Return the number of 4-directional walks from the starting square to the ending square, that walk over every non-obstacle square exactly once.

Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.

Calculate the Euclidean Distance for one dimensional, two dimensional, three dimensional in JavaScript. In mathematics, the Euclidean distance or Euclidean metric is the "ordinary" straight-line distance between two points in Euclidean space.

In an alien language, surprisingly they also use english lowercase letters, but possibly in a different order. The order of the alphabet is some permutation of lowercase letters.

Given a string, find the longest palindromic substring. We going to iterate each character in the string; and within that character, we expand and look for the longest palindrome. As we keep iterating, we only keep the longest palindrome.

Given two integers, an hour and a minute, write a function to calculate the angle between the two hands on a clock representing that time.

This is the app that I wrote for Master Cutlery. You can build your own knife with this knife customization app. You get to choose handle material, bolster, box, and pouch. The visual appearance and the price of the knife will be changed based on your configuration.

Every minute, any fresh orange that is adjacent (4-directionally) to a rotten orange becomes rotten.
Return the minimum number of minutes that must elapse until no cell has a fresh orange. If this is impossible, return -1 instead.

Given two integers L and R, find the count of numbers in the range [L, R] (inclusive) having a prime number of set bits in their binary representation.
(Recall that the number of set bits an integer has is the number of 1s present when written in binary.

Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node's value is the smaller value among its two sub-nodes.