Skip to content

Instantly share code, notes, and snippets.

View TheSavior's full-sized avatar

Eli White TheSavior

View GitHub Profile
@TheSavior
TheSavior / Contiguous max
Created November 12, 2012 07:08
Calculate the maximum sum from a contiguous array of ints
class Program
{
static void Main(string[] args)
{
int[] nums = new int[] { 1, 4, -6, 2, 4, -1, 3 };
bigSum(nums);
return;
}
@TheSavior
TheSavior / Breadth First
Created November 12, 2012 07:26
Breadth First Traversal
class Program
{
static void Main(string[] args)
{
Node node = new Node(5);
var n2 = new Node(2);
node.Children.Add(n2);
var n4 = new Node(16);
@TheSavior
TheSavior / Program.cs
Created November 13, 2012 18:47
Fibonacci with Memoization
class Program
{
static Dictionary<int, int> nums;
static void Main(string[] args)
{
int testNum = 35;
int loops = 20;
nums = new Dictionary<int, int>();
@TheSavior
TheSavior / gist:4082450
Created November 15, 2012 23:44
Simple Regex Parsing
/*Implement a function which answers whether a given string matches a provided pattern. The pattern is written in a small regex-like language, consisting of:
- Lowercase latin characters (a to z)
- . (dot), which matches any latin character.
- *, indicates that the previous character is repeated 0 or more times.
- +, indicates that the previous character is repeated 1 or more times.
You can assume that the input pattern is well formed and the string to match consists of lowercase latin characters only.
Examples:
@TheSavior
TheSavior / gist:4557808
Created January 17, 2013 17:36
Qth Largest element in an array
<?php
/*
INPUT:
- an unsorted array of integers, A
- an integer q, where 0 < q <= A.size
OUTPUT:
- find the q_th smallest element in A
@TheSavior
TheSavior / gist:4560896
Created January 17, 2013 23:31
Print array in spiral
<?php
// $a[0] = [ 1, 2, 3, 4]
// $a[1] = [ 5, 6, 7, 8]
// $a[2] = [ 9, 10, 11, 12]
// $a[3] = [13, 14, 15, 16]
// 1 2 3 4 8 12 11 10 9 5 6 7
/*
0,0 3,2
@TheSavior
TheSavior / gist:4561325
Created January 18, 2013 00:46
Check if the edit distance between two words is 1
<?php
/*
d = ['cat', 'cats', 'bat', 'beetle']
similar(q, d):
....
returns all words from d with edit distance 1
similar('cat', d) --> ['cat', 'cats', 'bat']
@TheSavior
TheSavior / gist:4758988
Created February 12, 2013 00:32
Difference between integers = k
/*Question:
Given a non-negative integer k and an array a containing random integers, determine the number of instances where two integers in the array have a numerical difference of k.
Do not assume anything about the given inputs unless it is strictly stated.
Example 1:
k = 4
a = [ 1, 1, 5, 6, 9, 16, 27]
@TheSavior
TheSavior / gist:5010053
Created February 22, 2013 01:28
Clear music folder of empty folders (or ones with stupid hidden files)
Get-ChildItem –Recurse –Include *.jpg,Desktop.ini,thumbs.db –Force | Remove-Item -force #–whatif
# pulled from http://guyellisrocks.com/powershell/powershell-script-to-remove-empty-directories/
$items = Get-ChildItem -Recurse
foreach($item in $items)
{
if( $item.PSIsContainer )
{
$subitems = Get-ChildItem -Recurse -LiteralPath $item.FullName
if($subitems -eq $null)
@TheSavior
TheSavior / gist:7887740
Last active June 15, 2016 22:35
Quad Tree overlap (My first Google interview question ever)
/*
Given two images of equal size, whose dimensions are square with edge length of a power of 2,
calculate the overlap of those imagesin O(log(N)) average case where N is the number of pixels.
n1 =
+----+----+
| 2 | 3 |
+----|----|
| 2 | 2 |
+----|----+