-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path#324.cpp
25 lines (18 loc) · 954 Bytes
/
#324.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
This problem was asked by Amazon.
Consider the following scenario: there are N mice and N holes placed at integer points along a line. Given this, find a method that maps mice to holes such that the largest number of steps any mouse takes is minimized.
Each move consists of moving one mouse one unit to the left or right, and only one mouse can fit inside each hole.
For example, suppose the mice are positioned at [1, 4, 9, 15], and the holes are located at [10, -5, 0, 16]. In this case, the best pairing would require us to send the mouse at 1 to the hole at -5, so our function should return 6.
*/
#include<bits/stdc++.h>
using namespace std;
int MiceToHoles(vector<int>& mice, vector<int>& holes){
sort(mice.begin(), mice.end());
sort(holes.begin(), holes.end());
int n = mice.size();
int max_time = 0;
for(int i = 0; i < n; i++){
max_time = max(max_time, abs(mice[i] - holes[i]));
}
return max_time;
}