Skip to content

Instantly share code, notes, and snippets.

@giannispan
giannispan / gist:261893ee46d24677fcf2
Created February 1, 2016 17:20
Write a function toWeirdCase that accepts a string, and returns the same string with all even indexed characters in each word upper cased, and all odd indexed characters in each word lower cased. The indexing just explained is zero based, so the zero-ith index is even, therefore that character should be upper cased.
function toWeirdCase(string){
var stringWords = string.split(' ');
var length = stringWords.length;
for(var i = 0; i < length; i++)
{
stringWords[i] = wcase(stringWords[i]);
}
return stringWords.join(' ');
@giannispan
giannispan / gist:79948bbaac5f976f93ba
Created February 1, 2016 17:18
Triangle number check
function isTriangleNumber(number) {
if (isNaN(number) || number != parseInt(number, 10)) return false;
else if (number == 0 || number == 1) return true;
else
var m = (Math.sqrt(8*number+1) - 1) / 2;
if (m != parseInt(m,10)) return false;
else return true;
}
@giannispan
giannispan / gist:e59b72e12c6df94b5044
Created February 1, 2016 17:17
The Collatz Conjecture states that for any natural number n, if n is even, divide it by 2. If n is odd, multiply it by 3 and add 1. If you repeat the process continously for n, n will eventually reach 1.
function collatz(n){
var i = 0, c = [];
c.push(n);
while (c[i] > 1) {
if (c[i] % 2 == 0) {
c.push(c[i] / 2);
}
else if (Math.abs(c[i] % 2) == 1) {
c[i] = (c[i] * 3) + 1;
@giannispan
giannispan / gist:d887ce9a161f59d2f084
Created February 1, 2016 17:16
Write a function that takes in a string of one or more words, and returns the same string, but with all five or more letter words reversed (Just like the name of this Kata). Strings passed in will consist of only letters and spaces. Spaces will be included only when more than one word is present.
function spinWords(str){
var splitWords = str.split(' ');
var length = splitWords.length;
for(var i = 0; i < length; i++)
{
if (splitWords[i].length >= 5 )
{
splitWords[i] = reverseWords(splitWords[i]);
@giannispan
giannispan / gist:20b483cb7c6f6a643fdd
Created February 1, 2016 17:16
Find The Parity Outlier
function findOutlier(integers){
var length = integers.length, i;
var evens = [];
var odds = [];
var k
for (i=0; i<length; i++) {
if (integers[i] % 2 == 0) {
evens.push(integers[i]);
}
if (Math.abs(integers[i] % 2) == 1) {
var countBits = function(n) {
var bRep = (n >>> 0).toString(2);
var digits = (bRep).toString(10).split("").map(function(t){return parseInt(t)});
console.log(digits);
var k =0;
for (var i = 0; i < digits.length; i++) {
if (digits[i] == 1) {
k++ ;
}
}
@giannispan
giannispan / gist:9ba54ca6f57d849ebf80
Created February 1, 2016 17:15
Is a number prime?
function isPrime(num) {
var start = 2;
while (start <= Math.sqrt(num)) {
if (num % start++ < 1) return false;
}
return num > 1;
}
@giannispan
giannispan / gist:4324800ea0c08be436eb
Created February 1, 2016 17:15
Linked Lists - Length & Count
function Node(data) {
this.data = data;
this.next = null;
}
function length(head) {
if (head == null)
return 0;
else
@giannispan
giannispan / gist:57dc99873ed4eb78d874
Created February 1, 2016 17:14
Triangle number check
function isTriangleNumber(number) {
if (isNaN(number) || number != parseInt(number, 10)) return false;
else if (number == 0 || number == 1) return true;
else
var m = (Math.sqrt(8*number+1) - 1) / 2;
if (m != parseInt(m,10)) return false;
else return true;
}
@giannispan
giannispan / gist:56c1e3c9cd3ad52b273b
Created February 1, 2016 17:13
Is Integer Array ?
function isIntArray(arr) {
console.log(arr);
if (arr == null) return false;
if (arr.constructor !== Array || arr == null) return false;
if (arr.length < 1) return true;
for (var i = 0; i < arr.length; i++)
if ((arr[i] % 1 != 0)) return false;
else