File tree Expand file tree Collapse file tree 4 files changed +106
-0
lines changed
solution/1300-1399/1331.Rank Transform of an Array Expand file tree Collapse file tree 4 files changed +106
-0
lines changed Original file line number Diff line number Diff line change @@ -183,4 +183,46 @@ function arrayRankTransform(arr: number[]): number[] {
183183
184184<!-- solution: end -->
185185
186+ <!-- solution: start -->
187+
188+ ### Solution 2: Sorting + Hash Map
189+
190+ <!-- tabs: start -->
191+
192+ #### TypeScript
193+
194+ ``` ts
195+ function arrayRankTransform(arr : number []): number [] {
196+ const sorted = [... new Set (arr )].sort ((a , b ) => a - b );
197+ const map = new Map <number , number >();
198+ let c = 1 ;
199+
200+ for (const x of sorted ) {
201+ map .set (x , c ++ );
202+ }
203+
204+ return arr .map (x => map .get (x )! );
205+ }
206+ ```
207+
208+ #### JavaScript
209+
210+ ``` js
211+ function arrayRankTransform (arr ) {
212+ const sorted = [... new Set (arr)].sort ((a , b ) => a - b);
213+ const map = new Map ();
214+ let c = 1 ;
215+
216+ for (const x of sorted) {
217+ map .set (x, c++ );
218+ }
219+
220+ return arr .map (x => map .get (x));
221+ }
222+ ```
223+
224+ <!-- tabs: end -->
225+
226+ <!-- solution: end -->
227+
186228<!-- problem: end -->
Original file line number Diff line number Diff line change @@ -184,4 +184,46 @@ function arrayRankTransform(arr: number[]): number[] {
184184
185185<!-- solution: end -->
186186
187+ <!-- solution: start -->
188+
189+ ### Solution 2: Sorting + Hash Map
190+
191+ <!-- tabs: start -->
192+
193+ #### TypeScript
194+
195+ ``` ts
196+ function arrayRankTransform(arr : number []): number [] {
197+ const sorted = [... new Set (arr )].sort ((a , b ) => a - b );
198+ const map = new Map <number , number >();
199+ let c = 1 ;
200+
201+ for (const x of sorted ) {
202+ map .set (x , c ++ );
203+ }
204+
205+ return arr .map (x => map .get (x )! );
206+ }
207+ ```
208+
209+ #### JavaScript
210+
211+ ``` js
212+ function arrayRankTransform (arr ) {
213+ const sorted = [... new Set (arr)].sort ((a , b ) => a - b);
214+ const map = new Map ();
215+ let c = 1 ;
216+
217+ for (const x of sorted) {
218+ map .set (x, c++ );
219+ }
220+
221+ return arr .map (x => map .get (x));
222+ }
223+ ```
224+
225+ <!-- tabs: end -->
226+
227+ <!-- solution: end -->
228+
187229<!-- problem: end -->
Original file line number Diff line number Diff line change 1+ function arrayRankTransform ( arr ) {
2+ const sorted = [ ...new Set ( arr ) ] . sort ( ( a , b ) => a - b ) ;
3+ const map = new Map ( ) ;
4+ let c = 1 ;
5+
6+ for ( const x of sorted ) {
7+ map . set ( x , c ++ ) ;
8+ }
9+
10+ return arr . map ( x => map . get ( x ) ) ;
11+ }
Original file line number Diff line number Diff line change 1+ function arrayRankTransform ( arr : number [ ] ) : number [ ] {
2+ const sorted = [ ...new Set ( arr ) ] . sort ( ( a , b ) => a - b ) ;
3+ const map = new Map < number , number > ( ) ;
4+ let c = 1 ;
5+
6+ for ( const x of sorted ) {
7+ map . set ( x , c ++ ) ;
8+ }
9+
10+ return arr . map ( x => map . get ( x ) ! ) ;
11+ }
You can’t perform that action at this time.
0 commit comments