Giới thiệu
Hãy xem xét hai mảng có cùng độ dài, nói A = [0,1,0,2]
và B = [-1,1,2,2]
. Giả sử chúng ta biết rằng nội dung của chúng tương đương nhau theo một nghĩa nào đó, theo từng mục:
0
tương đương với-1
,1
tương đương với1
,0
tương đương với2
, và2
tương đương với2
.
Tương đương là bắc cầu: -1
và 0
tương đương, và 0
và 2
tương đương, vì vậy -1
và 2
cũng là tương đương. Sự thống nhất của A
và B
là mảng trong đó mỗi mục của A
(hoặc B
) đã được thay thế bằng số lớn nhất tương đương với nó. Trong trường hợp này, sự thống nhất sẽ là [2,1,2,2]
.
Nhiệm vụ
Viết chương trình hoặc hàm lấy hai mảng số nguyên không trống có độ dài bằng nhau và đưa ra sự hợp nhất của chúng. Bạn cũng có thể sửa đổi một trong những đầu vào tại chỗ thay vì quay lại. Số byte thấp nhất sẽ thắng.
Các trường hợp thử nghiệm
[0] [0] -> [0]
[1] [2] -> [2]
[0,-1] [-1,-1] -> [0,0]
[0,1,0] [2,1,0] -> [2,1,2]
[1,2,3] [0,0,1] -> [3,3,3]
[0,1,0,2] [-1,1,2,2] -> [2,1,2,2]
[1,0,1,-4] [-3,-1,-2,2] -> [1,0,1,2]
[1,2,3,-2] [1,0,-3,-2] -> [1,2,3,-2]
[-3,-2,-1,0,1] [-1,-1,-1,-1,-1] -> [1,1,1,1,1]
[-3,-2,-1,0,1] [2,-1,0,1,-3] -> [2,2,2,2,2]
[-3,5,5,3,1] [4,2,3,1,2] -> [4,5,5,5,5]
[4,0,2,-5,0] [0,4,-5,3,5] -> [5,5,3,3,5]
[-2,4,-2,3,2,4,1,1] [-2,4,1,2,2,3,1,-2] -> [1,4,1,4,4,4,1,1]
[-10,-20,-11,12,-18,14,-8,-1,-14,15,-17,18,18,-6,3,1,15,-15,-19,-19] [-13,6,-4,3,19,1,-10,-15,-15,11,6,9,-11,18,6,6,-5,-15,7,-11] -> [-8,14,18,14,19,14,-8,-1,-1,15,14,18,18,18,14,14,15,-1,18,18]
[20,15,2,4,-10,-4,-19,15,-5,2,13,-3,-18,-5,-6,0,3,-6,3,-17] [-18,7,6,19,-8,-4,-16,-1,13,-18,8,8,-16,17,-9,14,-2,-12,7,6] -> [20,15,20,19,-8,-4,20,15,17,20,17,17,20,17,-6,14,15,-6,15,20]