Skip to content

Instantly share code, notes, and snippets.

View mitrakmt's full-sized avatar

Michael Mitrakos mitrakmt

View GitHub Profile
@mitrakmt
mitrakmt / keybase.md
Created April 21, 2020 22:44
keybase.md

Keybase proof

I hereby claim:

  • I am mitrakmt on github.
  • I am mitrakmt (https://keybase.io/mitrakmt) on keybase.
  • I have a public key ASBZO2rjxqWI_AqYQweEHcjFWnAAlnuSgvyKTQOJnYgi2Ao

To claim this, I am signing this object:

@mitrakmt
mitrakmt / allAnagrams.js
Created October 3, 2016 15:00
Exploring the programming challenge All Anagrams.
function allAnagrams (str) {
var storage = {};
function recurse(used, avail) {
if(avail.length === 0){
storage[used]=true;
}
for(var i=0; i<avail.length; i++) {
var avail2 = avail.slice(0,i) + avail.slice(i+1);
recurse(used+avail[i], avail2);
@mitrakmt
mitrakmt / bucketSort.js
Last active April 11, 2020 02:38
Exploring bucket sort in JavaScript.
// InsertionSort to be used within bucket sort
function insertionSort(array) {
var length = array.length;
for(var i = 1; i < length; i++) {
var temp = array[i];
for(var j = i - 1; j >= 0 && array[j] > temp; j--) {
array[j+1] = array[j];
}
array[j+1] = temp;
@mitrakmt
mitrakmt / mergeSort.js
Last active September 29, 2016 23:26
Exploring merge sort in JavaScript.
function mergeSort (arr) {
if (arr.length < 2) {
return arr;
}
var mid = Math.floor(arr.length / 2);
var subLeft = mergeSort(arr.slice(0, mid));
var subRight = mergeSort(arr.slice(mid));
return merge(subLeft, subRight);
@mitrakmt
mitrakmt / insertionSort.js
Last active November 26, 2019 23:28
Exploring insertion sort in JavaScript.
const insertionSort = (array) => {
const length = array.length;
for (let i = 1; i < length; i++) {
let key = array[i];
let j = i - 1;
while (j >= 0 && array[j] > key) {
array[j + 1] = array[j];
j = j - 1;
}
@mitrakmt
mitrakmt / bubbleSort.js
Created September 28, 2016 06:04
Exploring bubble sort in JavaScript.
function sort(values) {
var origValues = values.slice();
var length = origValues.length - 1;
do {
var swapped = false;
for(var i = 0; i < length; ++i) {
if (origValues[i] > origValues[i+1]) {
var temp = origValues[i];
origValues[i] = origValues[i+1];
origValues[i+1] = temp;
@mitrakmt
mitrakmt / integerReverse.js
Created September 27, 2016 17:04
Exploring integer reverse programming interview challenge.
function reverseInteger (n) {
var rev = 0;
while(n > 0){
rev = rev * 10 + n % 10;
n = Math.floor(n/10);
}
return rev;
}
@mitrakmt
mitrakmt / isSubsetOf.js
Created September 27, 2016 16:49
Exploring the is subset of programming interview question.
Array.prototype.isSubsetOf = function(inputArray) {
var exists = true;
for (var i = 0; i < this.length; i++) {
if (inputArray.indexOf(this[i]) === -1) {
exists = false;
}
}
return exists;
@mitrakmt
mitrakmt / serveStaticFiles.js
Created September 27, 2016 06:41
How to serve a static file in Node.js, without Express :)
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs"),
mime = require("mime")
port = process.argv[2] || 8888;
http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname
@mitrakmt
mitrakmt / commonCharacters.js
Created September 26, 2016 14:53
Covering the common characters programming interview question in JavaScript.
const commonCharacters = (string1, string2) => {
const result = {};
string1.split('').forEach(letter => {
if(string2.indexOf(letter) >= 0 && letter !== ' ') {
result[letter] = letter;
}
});
return Object.keys(result).join('');