File size: 5,765 Bytes
9e62486
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{
    "addition": "function addition($a, $b) { return $a + $b; }",
    "subtraction": "function subtraction($a, $b) { return $a - $b; }",
    "multiplication": "function multiplication($a, $b) { return $a * $b; }",
    "division": "function division($a, $b) { return $a / $b; }",
    "factorial": "function factorial($n) { return $n <= 0 ? 1 : $n * factorial($n - 1); }",
    "square": "function square($x) { return $x * $x; }",
    "squareRoot": "function squareRoot($x) { return sqrt($x); }",
    "power": "function power($x, $y) { return pow($x, $y); }",
    "modulus": "function modulus($a, $b) { return $a % $b; }",
    "absolute": "function absolute($x) { return abs($x); }",
    "maximum": "function maximum($a, $b) { return max($a, $b); }",
    "minimum": "function minimum($a, $b) { return min($a, $b); }",
    "average": "function average($arr) { return array_sum($arr) / count($arr); }",
    "sum": "function sum($arr) { return array_sum($arr); }",
    "sortAscending": "function sortAscending($arr) { sort($arr); return $arr; }",
    "sortDescending": "function sortDescending($arr) { rsort($arr); return $arr; }",
    "reverseString": "function reverseString($str) { return strrev($str); }",
    "capitalize": "function capitalize($str) { return ucfirst($str); }",
    "isPalindrome": "function isPalindrome($str) { return $str === strrev($str); }",
    "fibonacci": "function fibonacci($n) { return $n <= 1 ? $n : fibonacci($n - 1) + fibonacci($n - 2); }",
    "gcd": "function gcd($a, $b) { return $b === 0 ? $a : gcd($b, $a % $b); }",
    "lcm": "function lcm($a, $b) { return ($a * $b) / gcd($a, $b); }",
    "factorize": "function factorize($n) { $factors = []; for ($i = 1; $i <= $n; $i++) { if ($n % $i === 0) $factors[] = $i; } return $factors; }",
    "isPrime": "function isPrime($n) { if ($n <= 1) return false; for ($i = 2; $i <= sqrt($n); $i++) { if ($n % $i === 0) return false; } return true; }",
    "binarySearch": "function binarySearch($arr, $x) { $l = 0; $h = count($arr) - 1; while ($l <= $h) { $m = floor(($l + $h) / 2); if ($arr[$m] === $x) return $m; elseif ($arr[$m] < $x) $l = $m + 1; else $h = $m - 1; } return -1; }",
    "mergeSort": "function mergeSort($arr) { if (count($arr) < 2) return $arr; $mid = floor(count($arr) / 2); $left = mergeSort(array_slice($arr, 0, $mid)); $right = mergeSort(array_slice($arr, $mid)); return merge($left, $right); }",
    "quickSort": "function quickSort($arr) { if (count($arr) < 2) return $arr; $pivot = $arr[0]; $lesser = array_filter(array_slice($arr, 1), fn($el) => $el < $pivot); $greater = array_filter(array_slice($arr, 1), fn($el) => $el >= $pivot); return array_merge(quickSort($lesser), [$pivot], quickSort($greater)); }",
    "merge": "function merge($left, $right) { $result = []; $li = 0; $ri = 0; while ($li < count($left) && $ri < count($right)) { if ($left[$li] < $right[$ri]) $result[] = $left[$li++]; else $result[] = $right[$ri++]; } return array_merge($result, array_slice($left, $li), array_slice($right, $ri)); }",
    "linearSearch": "function linearSearch($arr, $x) { foreach ($arr as $i => $value) { if ($value === $x) return $i; } return -1; }",
    "bubbleSort": "function bubbleSort($arr) { $n = count($arr); for ($i = 0; $i < $n; $i++) { for ($j = 0; $j < $n - $i - 1; $j++) { if ($arr[$j] > $arr[$j + 1]) { $temp = $arr[$j]; $arr[$j] = $arr[$j + 1]; $arr[$j + 1] = $temp; } } } return $arr; }",
    "factorialIterative": "function factorialIterative($n) { $result = 1; for ($i = 1; $i <= $n; $i++) { $result *= $i; } return $result; }",
    "nthRoot": "function nthRoot($x, $n) { return pow($x, 1 / $n); }",
    "logarithm": "function logarithm($x, $base = 10) { return log($x) / log($base); }",
    "exponential": "function exponential($x) { return exp($x); }",
    "sin": "function sin($x) { return sin($x); }",
    "cos": "function cos($x) { return cos($x); }",
    "tan": "function tan($x) { return tan($x); }",
    "asin": "function asin($x) { return asin($x); }",
    "acos": "function acos($x) { return acos($x); }",
    "atan": "function atan($x) { return atan($x); }",
    "randomInt": "function randomInt($min, $max) { return rand($min, $max); }",
    "shuffleArray": "function shuffleArray($arr) { shuffle($arr); return $arr; }",
    "debounce": "function debounce($func, $delay) { static $timerId; return function(...$args) { clearTimeout($timerId); $timerId = setTimeout(function() use ($func, $args) { call_user_func_array($func, $args); }, $delay); }; }",
    "throttle": "function throttle($func, $limit) { static $lastRan, $lastFunc; return function(...$args) { if (!$lastRan) { call_user_func_array($func, $args); $lastRan = time(); } else { clearTimeout($lastFunc); $lastFunc = setTimeout(function() use ($func, $args, &$lastRan) { if ((time() - $lastRan) >= $limit) { call_user_func_array($func, $args); $lastRan = time(); } }, $limit - (time() - $lastRan)); } }; }",
    "cloneDeep": "function cloneDeep($obj) { return json_decode(json_encode($obj), true); }",
    "deepEqual": "function deepEqual($a, $b) { if ($a === $b) return true; if (is_array($a) && is_array($b)) { $keysA = array_keys($a); $keysB = array_keys($b); if (count($keysA) !== count($keysB)) return false; foreach ($keysA as $key) { if (!array_key_exists($key, $b) || !deepEqual($a[$key], $b[$key])) return false; } return true; } return false; }",
    "flattenArray": "function flattenArray($arr) { $result = []; foreach ($arr as $item) { if (is_array($item)) { $result = array_merge($result, flattenArray($item)); } else { $result[] = $item; } } return $result; }",
    "uniqueElements": "function uniqueElements($arr) { return array_values(array_unique($arr)); }",
    "intersection": "function intersection($arr1, $arr2) { return array_intersect($arr1, $arr2); }"
}