Skip to content

Instantly share code, notes, and snippets.

change n | n < minimum coins = [[]]
| otherwise = [xs | x <- coins,
x <= n,
xs <- map (\ys -> x:ys) $ change (n - x),
sum xs == n]
var clockAngle = function (h, m) {
return Math.abs((h * 30 + m * 0.5) - (m * 6));
}
var checkPhoneNumberFormat = function (phone) {
return /^[ ()\-0-9]+$/.test(str);
}
var checkAnagram = function(word1, word2) {
if (word1 == "" || word2 == "") return false;
word1 = word1.split('').sort();
word2 = word2.split('').sort();
if (word1.length != word2.length) {
return false;
}
for (var i = 0; i < word1.length; i++) {
if (word1[i] != word2[i]) {
return false;
var isCorrectParentheses = function (str) {
var i = 0;
for (var ch = 0; ch < str.length; ch++) {
if (str[ch] === '(') i++;
if (str[ch] === ')') i--;
if (i < 0) return false;
}
if (i !== 0) return false;
return true;
}
var moveZerosTest = function (arr) {
var arr2 = []
var zeroCount = 0;
var counter = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] === 0) {
zeroCount += 1;
} else {
arr2[counter] = arr[i];
counter++;
var isValidCreditCard = function (xs) {
return xs.split('').reverse().map(function (elem, index, xs) {
return index % 2 ? (2 * elem < 9 ? 2 * elem : 2 * elem - 9) : Number(elem);
}).reduce(function(sum, elem) { return sum + elem }) % 10 == 0;
}
var difference = function (x) {
var sumSq = 0,
sqSum = 0;
for (var i = 1; i <= x; i++) {
sumSq += i * i;
sqSum += i
}
return sqSum * sqSum - sumSq
}
var transpose = function (matrix) {
var result = [];
for (var i = 0; i < matrix.length; i++) {
for (var j = 0; j < matrix[i].length; j++) {
if (result[j] == undefined) result[j] = [];
result[j][i] = matrix[i][j];
}
}
return result
}
var isPrime = function (n) {
for (var i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
var sumPrimes = function (x) {
var result = 0;