I came across the following interview question
There are 2N people a company is planning to interview. The cost of flying the i-th person to city A is costs[i][0], and the cost of flying the i-th person to city B is costs[i][1].
Return the minimum cost to fly every person to a city such that exactly N people arrive in each city.
The solution to this involves greedy approach, where we sort the array based on the "profit" parameter. profit of choosing city A for a candidate i
is defined as costs[i][1] - costs[i][0]
and choose the top half elements from the sorted array to go to A and rest to B.
What if this question is modified to 3 cities and you have find optimal partition of n/3 chunks? Will greedy algorithm still work?
Math.min(costs[i][1], costs[i][2]) - costs[i][0]
? Then assign the top n/3 candidates to city A. For the rest of the 2n/3, i can defer to the original question $\endgroup$ – Learner Jun 5 '20 at 0:44