Last active
February 23, 2016 18:50
-
-
Save alejandrorangel/b82c81ac4f3cb1d64bff to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function fibonacci (mValue){ | |
if(mValue <2) | |
return 1; | |
else{ | |
return fibonacci(mValue-2) + fibonacci(mValue -1); | |
} | |
} | |
var cache = []; | |
function fibonacciCache (mValue){ | |
var cached = cache[mValue]; | |
if (cached) | |
return cached; | |
if(mValue <2) | |
return 1; | |
else | |
return (cache[mValue] = (fibonacci(mValue-2) + fibonacci(mValue -1))); | |
} | |
fibonacciCache(4); | |
function containsDuplicates(string){ | |
var set = new Set(); | |
var currentLen = 0; | |
for(var i = 0; i<string.lenght; i++){ | |
size = parseInt(set.size); | |
set.add(string[i]); | |
if(size == set.size){ | |
return true; | |
} | |
} | |
return false; | |
} | |
function containsUniqueChars(string) { | |
var char_set = Array.apply(null, Array(256)).map(Boolean.prototype.valueOf, false); | |
for (var i = 0; i < string.length; i++) { | |
if (char_set[string[i].charCodeAt(0)]) { | |
return false; | |
} | |
char_set[string[i].charCodeAt(0)] = true; | |
} | |
return true; | |
} | |
function reverseString(mString) { | |
var length = mString.length; | |
if (length > 1) { | |
return mString[length - 1] + reverseString(mString.substring(1, length - 1)) + mString[0]; | |
} | |
return mString; | |
} | |
reverseString("hola"); | |
function reverseString2(string){ | |
var mString=""; | |
for(var i=string.length-1;i>=0;i--){ | |
mString = mString.concat(string[i]); | |
} | |
return mString; | |
} | |
reverseString2("hola"); | |
//TODO I can Improve this =( | |
function dominos(mArray){ | |
var length = mArray.length; | |
for(var i=0; i<length; i++){ | |
var currentValue = mArray[i]; | |
var lookForArray = [6-currentValue[0],6-currentValue[1]]; | |
for(var j=0; j<length; j++){ | |
if(j!=i){ | |
if(equalsArray(lookForArray, mArray[j])){ | |
return console.log("true"); | |
} | |
} | |
} | |
} | |
return console.log("false"); | |
} | |
function equalsArray(firstArray, secondArray){ | |
return !!JSON.stringify(firstArray) == JSON.stringify(secondArray) || JSON.stringify(firstArray) == JSON.stringify(secondArray.reverse()) | |
} | |
dominos([[2,3],[4,2],[5,1],[1,3],[1,1],[5,5]]); | |
function Node(value, leftChild, rightChild){ | |
this.value = value; | |
this.left = leftChild; | |
this.right = rightChild; | |
} | |
//setup the binary Tree | |
var head = new Node(10, null,null); | |
var firstLeft = new Node(2, null, null); | |
var firstRight = new Node(6, null, null); | |
head.leftChild = firstLeft; | |
head.leftChild = firstRight; | |
function dfs(node,string){ | |
if(node){ | |
if(!(node.left && node.right)) | |
return console.log(string+"-"+node.value); | |
dfs(node.left,string+"-"+node.value); | |
dfs(node.right,string+"-"+node.value); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment