Minimum Number of Operations to Make Arrays Similar

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from typing import List

class Solution:
    def makeSimilar(self, nums: List[int], target: List[int]) -> int:
        AA = [[], []]
        BB = [[], []]

        for a in nums:
            AA[a % 2].append(a)
        for b in target:
            BB[b % 2].append(b)

        AA[0].sort()
        AA[1].sort()
        BB[0].sort()
        BB[1].sort()

        res = 0
        for i in range(len(AA[0])):
            res += abs(AA[0][i] - BB[0][i]) // 2
        for i in range(len(AA[1])):
            res += abs(AA[1][i] - BB[1][i]) // 2

        return res // 2