Skip to content

Instantly share code, notes, and snippets.

@alejandrorangel
Last active February 23, 2016 18:50
Show Gist options
  • Save alejandrorangel/b82c81ac4f3cb1d64bff to your computer and use it in GitHub Desktop.
Save alejandrorangel/b82c81ac4f3cb1d64bff to your computer and use it in GitHub Desktop.
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