GaneshNaiknavare's picture
Upload 5 files
9e62486 verified
{
"addition": "const addition = (a, b) => a + b;",
"subtraction": "const subtraction = (a, b) => a - b;",
"multiplication": "const multiplication = (a, b) => a * b;",
"division": "const division = (a, b) => a / b;",
"factorial": "const factorial = n => n <= 0 ? 1 : n * factorial(n - 1);",
"square": "const square = x => x * x;",
"squareRoot": "const squareRoot = x => Math.sqrt(x);",
"power": "const power = (x, y) => Math.pow(x, y);",
"modulus": "const modulus = (a, b) => a % b;",
"absolute": "const absolute = x => Math.abs(x);",
"maximum": "const maximum = (a, b) => Math.max(a, b);",
"minimum": "const minimum = (a, b) => Math.min(a, b);",
"average": "const average = arr => arr.reduce((a, b) => a + b, 0) / arr.length;",
"sum": "const sum = arr => arr.reduce((a, b) => a + b, 0);",
"sortAscending": "const sortAscending = arr => arr.sort((a, b) => a - b);",
"sortDescending": "const sortDescending = arr => arr.sort((a, b) => b - a);",
"reverseString": "const reverseString = str => str.split('').reverse().join('');",
"capitalize": "const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);",
"isPalindrome": "const isPalindrome = str => str === str.split('').reverse().join('');",
"fibonacci": "const fibonacci = n => n <= 1 ? n : fibonacci(n - 1) + fibonacci(n - 2);",
"gcd": "const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);",
"lcm": "const lcm = (a, b) => (a * b) / gcd(a, b);",
"factorize": "const factorize = n => Array.from({ length: n }, (_, i) => i + 1).filter(i => n % i === 0);",
"isPrime": "const isPrime = n => n > 1 && Array.from({ length: Math.sqrt(n) }, (_, i) => i + 2).every(i => n % i !== 0);",
"binarySearch": "const binarySearch = (arr, x) => {\n\tlet l = 0, h = arr.length - 1;\n\twhile (l <= h) {\n\t\tconst m = Math.floor((l + h) / 2);\n\t\tif (arr[m] === x) return m;\n\t\telse if (arr[m] < x) l = m + 1;\n\t\telse h = m - 1;\n\t}\n\treturn -1;\n};",
"mergeSort": "const mergeSort = arr => {\n\tif (arr.length < 2) return arr;\n\tconst mid = Math.floor(arr.length / 2);\n\tconst left = mergeSort(arr.slice(0, mid));\n\tconst right = mergeSort(arr.slice(mid));\n\treturn merge(left, right);\n};",
"quickSort": "const quickSort = arr => {\n\tif (arr.length < 2) return arr;\n\tconst pivot = arr[0];\n\tconst lesser = arr.slice(1).filter(el => el < pivot);\n\tconst greater = arr.slice(1).filter(el => el >= pivot);\n\treturn [...quickSort(lesser), pivot, ...quickSort(greater)];\n};",
"merge": "const merge = (left, right) => {\n\tconst result = [];\n\tlet li = 0, ri = 0;\n\twhile (li < left.length && ri < right.length) {\n\t\tif (left[li] < right[ri]) result.push(left[li++]);\n\t\telse result.push(right[ri++]);\n\t}\n\treturn [...result, ...left.slice(li), ...right.slice(ri)];\n};",
"linearSearch": "const linearSearch = (arr, x) => {\n\tfor (let i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === x) return i;\n\t}\n\treturn -1;\n};",
"bubbleSort": "const bubbleSort = arr => {\n\tfor (let i = 0; i < arr.length; i++) {\n\t\tfor (let j = 0; j < arr.length - i - 1; j++) {\n\t\t\tif (arr[j] > arr[j + 1]) {\n\t\t\t\tconst temp = arr[j];\n\t\t\t\tarr[j] = arr[j + 1];\n\t\t\t\tarr[j + 1] = temp;\n\t\t\t}\n\t\t}\n\t}\n\treturn arr;\n};",
"factorialIterative": "const factorialIterative = n => {\n\tlet result = 1;\n\tfor (let i = 1; i <= n; i++) {\n\t\tresult *= i;\n\t}\n\treturn result;\n};",
"nthRoot": "const nthRoot = (x, n) => Math.pow(x, 1 / n);",
"logarithm": "const logarithm = (x, base = 10) => Math.log(x) / Math.log(base);",
"exponential": "const exponential = x => Math.exp(x);",
"sin": "const sin = x => Math.sin(x);",
"cos": "const cos = x => Math.cos(x);",
"tan": "const tan = x => Math.tan(x);",
"asin": "const asin = x => Math.asin(x);",
"acos": "const acos = x => Math.acos(x);",
"atan": "const atan = x => Math.atan(x);",
"randomInt": "const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;",
"shuffleArray": "const shuffleArray = arr => {\n\tfor (let i = arr.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\t[arr[i], arr[j]] = [arr[j], arr[i]];\n\t}\n\treturn arr;\n};",
"debounce": "const debounce = (func, delay) => {\n\tlet timerId;\n\treturn function(...args) {\n\t\tclearTimeout(timerId);\n\t\ttimerId = setTimeout(() => func.apply(this, args), delay);\n\t};\n};",
"throttle": "const throttle = (func, limit) => {\n\tlet lastFunc;\n\tlet lastRan;\n\treturn function(...args) {\n\t\tconst context = this;\n\t\tif (!lastRan) {\n\t\t\tfunc.apply(context, args);\n\t\t\tlastRan = Date.now();\n\t\t} else {\n\t\t\tclearTimeout(lastFunc);\n\t\t\tlastFunc = setTimeout(() => {\n\t\t\t\tif ((Date.now() - lastRan) >= limit) {\n\t\t\t\t\tfunc.apply(context, args);\n\t\t\t\t\tlastRan = Date.now();\n\t\t\t\t}\n\t\t\t}, limit - (Date.now() - lastRan));\n\t\t}\n\t};\n};",
"cloneDeep": "const cloneDeep = obj => JSON.parse(JSON.stringify(obj));",
"deepEqual": "const deepEqual = (a, b) => {\n\tif (a === b) return true;\n\tif (typeof a === 'object' && typeof b === 'object' && a != null && b != null) {\n\t\tconst keysA = Object.keys(a);\n\t\tconst keysB = Object.keys(b);\n\t\tif (keysA.length !== keysB.length) return false;\n\t\tfor (const key of keysA) {\n\t\t\tif (!keysB.includes(key) || !deepEqual(a[key], b[key])) return false;\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n};",
"flattenArray": "const flattenArray = arr => arr.reduce((flat, toFlatten) => flat.concat(Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten), []);",
"uniqueElements": "const uniqueElements = arr => [...new Set(arr)];",
"intersection": "const intersection = (arr1, arr2) => arr1.filter(x => arr2.includes(x));"
}