A simple programming language with a function for each letter of the alphabet
A simple programming language with a function for each letter of the alphabet
An interactive Go board with the ability to add/remove stones, optional alternating turn color, and undo/redo functionality
Summer 2019, I worked with the Microsoft Visual Studio Diagnostics Tools team to add features to the CPU profiling tool
I built a Unity game that mimics the inner workings of a CPU: instruction register, program register, and memory space
By moving once from left to right
across the array of heights, it’s possible to calculate the total trapped rain water using a stack
.
To determine the minimum capacity required to ship all packages within D days, it was optimal to use a binary search
. Assuming that the minimum weight was K
, we know that all capacities less than K
will fail and all capacities larger will succeed. Thus, we perform a binary search
over the space of all possible capacities until we find then minimum capacity K
such that k1 is false.
This problem is from Round 1A Google Code Jam 2019, I solved it by constructing a suffix tree
, which I then traversed using a post order traversal
in order to match strings into groups of two from longest to shortest suffix.
Given the hex string in the white box
below. Construct a graph according to the following rules:
Find the sum of every unique shortest path
. Two shortest paths are unique
if one of the paths contains at least one node that the other does not. The shortest path between two nodes is a series of edges along which one could travel to get from one node to the other.
5d0d
has 3 unique nodes 5, d, and 0
. As we traverse the string from left to right, we find the following edges:
5d
with value 5 + d = 5 + 13 = 18
d0
with value d + 0 = 13 + 0 = 13
0d
which is the same as d0
, so we ignore itWe have 3 shortest paths to consider as follows:
0
to d
with a cost of 13
0
to 5
with a cost of 31
d
to 5
with a cost of 18
So, the answer to this example case is 13 + 31 + 18 = 62
Given the function below, find the largest integer n
such that query(n)
returns false
and query(n+1)
returns true
. The answer is an integer between 1
and 80000000000
(80 billion!)


Find the missing value (hint: read the title):
I make youtube videos about Unity, Git, Servers, and Algorithims.
Reach out to me on Twitter or by email!