File tree Expand file tree Collapse file tree 3 files changed +106
-0
lines changed
solution/2400-2499/2449.Minimum Number of Operations to Make Arrays Similar Expand file tree Collapse file tree 3 files changed +106
-0
lines changed Original file line number Diff line number Diff line change @@ -203,7 +203,42 @@ func abs(x int) int {
203
203
### ** TypeScript**
204
204
205
205
``` ts
206
+ function makeSimilar(nums : number [], target : number []): number {
207
+ nums .sort ((a , b ) => a - b );
208
+ target .sort ((a , b ) => a - b );
209
+
210
+ const a1: number [] = [];
211
+ const a2: number [] = [];
212
+ const b1: number [] = [];
213
+ const b2: number [] = [];
214
+
215
+ for (const v of nums ) {
216
+ if (v % 2 === 0 ) {
217
+ a1 .push (v );
218
+ } else {
219
+ a2 .push (v );
220
+ }
221
+ }
222
+
223
+ for (const v of target ) {
224
+ if (v % 2 === 0 ) {
225
+ b1 .push (v );
226
+ } else {
227
+ b2 .push (v );
228
+ }
229
+ }
206
230
231
+ let ans = 0 ;
232
+ for (let i = 0 ; i < a1 .length ; ++ i ) {
233
+ ans += Math .abs (a1 [i ] - b1 [i ]);
234
+ }
235
+
236
+ for (let i = 0 ; i < a2 .length ; ++ i ) {
237
+ ans += Math .abs (a2 [i ] - b2 [i ]);
238
+ }
239
+
240
+ return ans / 4 ;
241
+ }
207
242
```
208
243
209
244
### ** ...**
Original file line number Diff line number Diff line change @@ -181,7 +181,42 @@ func abs(x int) int {
181
181
### ** TypeScript**
182
182
183
183
``` ts
184
+ function makeSimilar(nums : number [], target : number []): number {
185
+ nums .sort ((a , b ) => a - b );
186
+ target .sort ((a , b ) => a - b );
187
+
188
+ const a1: number [] = [];
189
+ const a2: number [] = [];
190
+ const b1: number [] = [];
191
+ const b2: number [] = [];
192
+
193
+ for (const v of nums ) {
194
+ if (v % 2 === 0 ) {
195
+ a1 .push (v );
196
+ } else {
197
+ a2 .push (v );
198
+ }
199
+ }
200
+
201
+ for (const v of target ) {
202
+ if (v % 2 === 0 ) {
203
+ b1 .push (v );
204
+ } else {
205
+ b2 .push (v );
206
+ }
207
+ }
184
208
209
+ let ans = 0 ;
210
+ for (let i = 0 ; i < a1 .length ; ++ i ) {
211
+ ans += Math .abs (a1 [i ] - b1 [i ]);
212
+ }
213
+
214
+ for (let i = 0 ; i < a2 .length ; ++ i ) {
215
+ ans += Math .abs (a2 [i ] - b2 [i ]);
216
+ }
217
+
218
+ return ans / 4 ;
219
+ }
185
220
```
186
221
187
222
### ** ...**
Original file line number Diff line number Diff line change
1
+ function makeSimilar ( nums : number [ ] , target : number [ ] ) : number {
2
+ nums . sort ( ( a , b ) => a - b ) ;
3
+ target . sort ( ( a , b ) => a - b ) ;
4
+
5
+ const a1 : number [ ] = [ ] ;
6
+ const a2 : number [ ] = [ ] ;
7
+ const b1 : number [ ] = [ ] ;
8
+ const b2 : number [ ] = [ ] ;
9
+
10
+ for ( const v of nums ) {
11
+ if ( v % 2 === 0 ) {
12
+ a1 . push ( v ) ;
13
+ } else {
14
+ a2 . push ( v ) ;
15
+ }
16
+ }
17
+
18
+ for ( const v of target ) {
19
+ if ( v % 2 === 0 ) {
20
+ b1 . push ( v ) ;
21
+ } else {
22
+ b2 . push ( v ) ;
23
+ }
24
+ }
25
+
26
+ let ans = 0 ;
27
+ for ( let i = 0 ; i < a1 . length ; ++ i ) {
28
+ ans += Math . abs ( a1 [ i ] - b1 [ i ] ) ;
29
+ }
30
+
31
+ for ( let i = 0 ; i < a2 . length ; ++ i ) {
32
+ ans += Math . abs ( a2 [ i ] - b2 [ i ] ) ;
33
+ }
34
+
35
+ return ans / 4 ;
36
+ }
You can’t perform that action at this time.
0 commit comments