Algorithms
Algorithms playground for common questions solved in ruby syntax.
In case you want to prepare yourself for a job interview - try to solve it yourself first, then have a look here.
Problems
- Dijkstra's shortest path between two nodes
- Find the square root of a number
- Binary search
- Longest increasing subsequence
- Find all permutations of array
- Finding all combinations of well-formed brackets
- Finding the powerset of a set
- Game of life
- Print all combinations of set joining
- Telephone number to words
- Find the smallest biggest number that has the same digits
- [Find the minimum insertions needed to make a word palindrome](from http://www.geeksforgeeks.org/dynamic-programming-set-28-minimum-insertions-to-form-a-palindrome/)
- String matching - Knuth Morris Pratt algorithm KMP
- Quicksort algorithm
- Knapsack problem
- Longest common subsequence problem
#How?
Simply run ruby some_file.rb
to execute the algorithm. At the bottom of each file there are some test samples.
example: ruby brackets_combinations.rb
will print:
["((()))", "(()())", "(())()", "()(())", "()()()"]
.
Why?
I interviewed with Google, Facebook, Twitter, LinkedIn and others. Sometimes it looks like they all ask you the same "out of the box" questions that don't really check knowledge but memorization of the same tricks. This is my way of saying - change your interview style. There are lots of smart people out there, this is not the best way to find them.
Contribute
Did you find a bug? any way to do it better? please feel free to pull-request it :)