From b561670660b698d3ecd8789d6ad42048a406ac1b Mon Sep 17 00:00:00 2001 From: rain84 Date: Wed, 2 Oct 2024 13:12:09 +0300 Subject: [PATCH 1/2] feat: add solutions to lc problem: No.1331 --- .../1331.Rank Transform of an Array/README.md | 42 +++++++++++++++++++ .../README_EN.md | 42 +++++++++++++++++++ .../Solution2.js | 11 +++++ .../Solution2.ts | 11 +++++ 4 files changed, 106 insertions(+) create mode 100644 solution/1300-1399/1331.Rank Transform of an Array/Solution2.js create mode 100644 solution/1300-1399/1331.Rank Transform of an Array/Solution2.ts diff --git a/solution/1300-1399/1331.Rank Transform of an Array/README.md b/solution/1300-1399/1331.Rank Transform of an Array/README.md index 6b31f108e0dca..16cf7a60c04df 100644 --- a/solution/1300-1399/1331.Rank Transform of an Array/README.md +++ b/solution/1300-1399/1331.Rank Transform of an Array/README.md @@ -183,4 +183,46 @@ function arrayRankTransform(arr: number[]): number[] { + + +### Solution 2: Sorting + Hash Map + + + +#### TypeScript + +```ts +function arrayRankTransform(arr: number[]): number[] { + const sorted = [...new Set(arr)].sort((a, b) => a - b); + const map = new Map(); + let c = 1; + + for (const x of sorted) { + map.set(x, c++); + } + + return arr.map(x => map.get(x)!); +} +``` + +#### JavaScript + +```js +function arrayRankTransform(arr) { + const sorted = [...new Set(arr)].sort((a, b) => a - b); + const map = new Map(); + let c = 1; + + for (const x of sorted) { + map.set(x, c++); + } + + return arr.map(x => map.get(x)); +} +``` + + + + + diff --git a/solution/1300-1399/1331.Rank Transform of an Array/README_EN.md b/solution/1300-1399/1331.Rank Transform of an Array/README_EN.md index 0282e806357e5..3fbbc0693d6de 100644 --- a/solution/1300-1399/1331.Rank Transform of an Array/README_EN.md +++ b/solution/1300-1399/1331.Rank Transform of an Array/README_EN.md @@ -184,4 +184,46 @@ function arrayRankTransform(arr: number[]): number[] { + + +### Solution 2: Sorting + Hash Map + + + +#### TypeScript + +```ts +function arrayRankTransform(arr: number[]): number[] { + const sorted = [...new Set(arr)].sort((a, b) => a - b); + const map = new Map(); + let c = 1; + + for (const x of sorted) { + map.set(x, c++); + } + + return arr.map(x => map.get(x)!); +} +``` + +#### JavaScript + +```js +function arrayRankTransform(arr) { + const sorted = [...new Set(arr)].sort((a, b) => a - b); + const map = new Map(); + let c = 1; + + for (const x of sorted) { + map.set(x, c++); + } + + return arr.map(x => map.get(x)); +} +``` + + + + + diff --git a/solution/1300-1399/1331.Rank Transform of an Array/Solution2.js b/solution/1300-1399/1331.Rank Transform of an Array/Solution2.js new file mode 100644 index 0000000000000..53ee813df2dac --- /dev/null +++ b/solution/1300-1399/1331.Rank Transform of an Array/Solution2.js @@ -0,0 +1,11 @@ +function arrayRankTransform(arr) { + const sorted = [...new Set(arr)].sort((a, b) => a - b); + const map = new Map(); + let c = 1; + + for (const x of sorted) { + map.set(x, c++); + } + + return arr.map(x => map.get(x)); +} diff --git a/solution/1300-1399/1331.Rank Transform of an Array/Solution2.ts b/solution/1300-1399/1331.Rank Transform of an Array/Solution2.ts new file mode 100644 index 0000000000000..606ff4cf26c9c --- /dev/null +++ b/solution/1300-1399/1331.Rank Transform of an Array/Solution2.ts @@ -0,0 +1,11 @@ +function arrayRankTransform(arr: number[]): number[] { + const sorted = [...new Set(arr)].sort((a, b) => a - b); + const map = new Map(); + let c = 1; + + for (const x of sorted) { + map.set(x, c++); + } + + return arr.map(x => map.get(x)!); +} From 963a058a3370c27be9012b52b6cf52e475e7cbe2 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Thu, 3 Oct 2024 11:24:51 +0800 Subject: [PATCH 2/2] Update README.md --- solution/1300-1399/1331.Rank Transform of an Array/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/1300-1399/1331.Rank Transform of an Array/README.md b/solution/1300-1399/1331.Rank Transform of an Array/README.md index 16cf7a60c04df..03489343837b7 100644 --- a/solution/1300-1399/1331.Rank Transform of an Array/README.md +++ b/solution/1300-1399/1331.Rank Transform of an Array/README.md @@ -185,7 +185,7 @@ function arrayRankTransform(arr: number[]): number[] { -### Solution 2: Sorting + Hash Map +### 方法二:排序 + 哈希表