From 335b962afcefdeea0a5268673385f6ed047f2a50 Mon Sep 17 00:00:00 2001 From: prgmr99 Date: Mon, 17 Nov 2025 14:56:30 +0900 Subject: [PATCH 1/2] valid-anagram solution --- valid-anagram/prgmr99.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 valid-anagram/prgmr99.js diff --git a/valid-anagram/prgmr99.js b/valid-anagram/prgmr99.js new file mode 100644 index 000000000..5ecc11f44 --- /dev/null +++ b/valid-anagram/prgmr99.js @@ -0,0 +1,33 @@ +/** + * @param {string} s + * @param {string} t + * @return {boolean} + */ +var isAnagram = function (s, t) { + const stringMap = new Map(); + + if (s.length !== t.length) return false; + + for (let i = 0; i < s.length; i++) { + const currentValue = stringMap.get(s[i]); + + if (currentValue) { + stringMap.set(s[i], currentValue + 1); + } else { + stringMap.set(s[i], 1); + } + } + + for (let i = 0; i < t.length; i++) { + const currentValue = t[i]; + const currentValueInStringMap = stringMap.get(currentValue); + + if (currentValueInStringMap) { + stringMap.set(currentValue, currentValueInStringMap - 1); + } else { + return false; + } + } + + return true; +}; From 0beca12ae5af8aa49a1be620c3e0ba788645557f Mon Sep 17 00:00:00 2001 From: prgmr99 Date: Wed, 19 Nov 2025 17:15:30 +0900 Subject: [PATCH 2/2] climbing-stairs solution --- climbing-stairs/prgmr99.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 climbing-stairs/prgmr99.js diff --git a/climbing-stairs/prgmr99.js b/climbing-stairs/prgmr99.js new file mode 100644 index 000000000..65b6936f2 --- /dev/null +++ b/climbing-stairs/prgmr99.js @@ -0,0 +1,23 @@ +/** + * @param {number} n + * @return {number} + */ +var climbStairs = function (n) { + const memo = {}; + + function fibo(num, memo) { + if (num === 1) return 1; + if (num === 2) return 2; + + if (memo[num]) { + return memo[num]; + } + + const result = fibo(num - 1, memo) + fibo(num - 2, memo); + memo[num] = result; + + return result; + } + + return fibo(n, memo); +};