【Google面经】Relative Sort Google OA 开发岗 数据岗 其他岗位

喵贵妃 2020-5-29 573


Relative sorting is defined as sorting two arrays (both in strictly ascending order) such that the only operation allowed is swapping i'th element of one array with the i'th elementh of the other array An array is said to be in strictly ascending order if i'th element of the array is smaller than (i+1)'th element of the array. You are given two arrays of size N. print the minimum number of swaps required to make both arrays relatively sorted.

Note:

  • If the arrays are already relatively sorted, then print '0'
  • If the arrays cannot be relatively sorted, then print '-1'.

Input Format:

The input consist of 3 lines:

  • First line consist of the size of each array, i.e. N
  • The next two lines contain N elements each seperated by a space

Output Format:

The output will be an integer i.e., the minimum number of swaps required to make both arrays relatively sorted.

Constraints:

  • 0 < N < 11000
  • 0 < Elements in array <= 10^9

Example 1:

Input: 4 1 4 4 9 2 3 5 10

Output: 1

Explanation: To make both arrays strictly increasing we can swap 4 and 3 or 4 and 5.

最新回复 (0)
返回