From 25ef46e13bab0ebaf73d7cbace59d280b607ab38 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Sat, 11 Jul 2026 14:28:02 -0400 Subject: [PATCH] docs(lc-1365): add documentation and code examples for Leetcode 1365 problem --- lc-1365/README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/lc-1365/README.md b/lc-1365/README.md index e69de29..a469d7e 100644 --- a/lc-1365/README.md +++ b/lc-1365/README.md @@ -0,0 +1,51 @@ +# Leetcode 1365 + + +- [Leetcode 1365](#leetcode-1365) + - [Creating a Frequancy Map](#creating-a-frequancy-map) + - [Hammer Tool](#hammer-tool) + + +```js +function reduceArray(nums) { + const sorted = [...nums].sort((a, b) => a - b) + return nums.map((x) => { + nums.indexOf(sorted[x]) + }) +} +``` + +## Creating a Frequancy Map + +```js +function reduceArray(nums) { + const freqMap = new Map() + nums.forEach((x) => { + if (freqMap.has(x)) { + freqMap.set(x, freqMap.get(x) + 1) + } else { + freqMap.set(x, 1) + } + }) + return Array.from(freqMap.entries()).map(([k, v]) => v) +} +``` + +### Hammer Tool + +```js +function hammer(arrOrStr) { + const freq = {}; + for (let item of arrOrStr) { + freq[item] = (freq[item] || 0) + 1; + } + + // Then either: + // A. Return freq map + // B. Sort using freq + return arrOrStr.slice().sort((a, b) => { + if (freq[b] !== freq[a]) return freq[b] - freq[a]; // desc freq + return a < b ? -1 : 1; // tiebreaker + }); +} +```