Commit graph

17 commits

Author SHA1 Message Date
William Carroll
d262d30543 Attempt to package CL unit testing with Nix
My first foray trying to package Common Lisp with Nix. I'm using @tazjin's
buildLisp and other libraries, all of which I'm importing as `tpkgs`, and all of
which have been a tremendous boon to my productivity.
2020-01-23 13:45:57 +00:00
William Carroll
55860debe5 Support Common Lisp
Adding some Common Lisp here to get the party started! *cues music*
2020-01-23 13:45:18 +00:00
William Carroll
c010e6d6cf Practice dijkstra's algorithm
Getting some practice with Python's heapq module (which I'm unsure if I used
correctly) to do a priority-first-traversal of a graph: known as Dijkstra's
algorithm.
2020-01-22 11:07:07 +00:00
William Carroll
91811236a5 Complete which-appears-twice
Solves the InterviewCake.com problem that asks us to write a function that
returns the number, y, that occurs twice in a list, xs, where xs is an unsorted
list of integers from 1..n with a length of n + 1.
2020-01-22 11:06:10 +00:00
William Carroll
4f6191b34c Complete reverse-linked-list problem
Completing the deceptively tricky reverse-linked-list problem from
InterviewCake.com.
2020-01-22 11:05:43 +00:00
William Carroll
2a0540d76d Create org table of sorting algorithms and their efficiency
This is just a small org table that I created to help me

Fun fact: In Emacs, you can insert literal TAB character by pressing `C-q
TAB`. For creating tables, using TAB characters feels perfectly
acceptable. Perhaps the TAB name comes from TABle.
2020-01-22 10:12:27 +00:00
William Carroll
de039c7133 Complete find-rotation-point
Solves an InterviewCake.com problem that returns the index of the element in a
list that should be the first element in that list. It's an exercise that's
useful for seeing other applications of a binary search.
2020-01-22 10:11:23 +00:00
William Carroll
bbea699f06 Complete string permutations problem
Solves an InterviewCake.com problem that returns all of the permutations of a
string input. The problem states that it's acceptable to assume that your input
string will not have repeated characters, which is why using a Set is
acceptable. I like this solution because it builds a permutations tree and then
assembles all of the permutations by doing a DFT over that tree.
2020-01-22 10:09:46 +00:00
William Carroll
64bd3f0303 Complete balanced binary tree problem
Supporting a function that returns true if a tree has no two leaf nodes with
depth differences greater than 1.
2020-01-22 10:08:56 +00:00
William Carroll
bb0de3dec2 Begin tests for Haskell File module
Cameron sent over some property tests for his File.split function, which is a
part of a larger effort to port f.el, a nice library for working with file
paths, over to Haskell.
2020-01-18 17:05:32 +00:00
William Carroll
34dc3e05c8 Complete practice algorithms from InterviewCake.com
While I've done these algorithms before, I'm preparing for an on-site with
DeepMind, so I created a subdirectory called deepmind where I'm storing my
second attempts at these problems. The idea of storing them in a second
directory is to remove the urge to check my existing solutions that also exist
in this repository.
2020-01-18 17:04:05 +00:00
William Carroll
a62553f7b7 Add DeepMind subdirectory
I need to prepare for my on-site with DeepMind, so I'll host some attempts to
solve data structures and algorithms questions here.
2020-01-17 20:08:24 +00:00
William Carroll
8d00a456a0 Beging work to port f.el to Haskell
This is a work-in-progress. I'd like to add a README to this project to explain
my intention. The goal, roughly, is to port Elisp's fantastic f.el module to
Haskell. I consider Haskell APIs to be useful but somewhat sloppily designed. In
the same spirit as Elixir wrapping Erlang APIs, many of the functions I intend
to define will simply wrap existing Haskell APIs, but with a hopefully cleaner
API that I find more intuitive.
2020-01-15 14:29:18 +00:00
William Carroll
d4d8397e5f Add InterviewCake.com examples
Adds some of the code I generated while studying for a role transfer at Google
using the fantastic resource, InterviewCake.com. This work predates the
mono-repo.

I should think of ways to DRY up this code and the code in
crack_the_coding_interview, but I'm afraid I'm creating unnecessary work for
myself that way.
2020-01-15 14:25:33 +00:00
William Carroll
b4ee283b23 Add "Crack the Coding Interview" examples
I believe I have multiple other snippets and attempts scattered across /tmp,
~/programming, and other directories. Again, I created these files and others
before the mono-repo.
2020-01-15 14:23:37 +00:00
William Carroll
456d358cd7 Upload my 2019 Advent of Code attempts
Well, unexpectedly (perhaps naively so), I only made it to Day 7. I created
these before I stumbled upon the idea of the mono-repository; otherwise, I like
to think I would have more granular commits introducing this work.
2020-01-15 14:21:45 +00:00
William Carroll
d480b6f08b Initialize repo
Adding a README and a basic .gitignore to initialize this mono-repo. I'm quite
excited about this undertaking!
2020-01-15 14:21:08 +00:00