package heap; import java.util.*; /** * Created by gouthamvidyapradhan on 04/12/2019 In a warehouse, there is a row of barcodes, where * the i-th barcode is barcodes[i]. * *
Rearrange the barcodes so that no two adjacent barcodes are equal. You may return any answer, * and it is guaranteed an answer exists. * *
Example 1: * *
Input: [1,1,1,2,2,2] Output: [2,1,2,1,2,1] Example 2: * *
Input: [1,1,1,1,2,2,3,3] Output: [1,3,1,3,2,1,2,1] * *
Note: * *
1 <= barcodes.length <= 10000 1 <= barcodes[i] <= 10000
*/
public class DistantBarcodes {
public static void main(String[] args) {
int[] barcode = {1, 1, 1, 2, 2, 2};
int[] result = new DistantBarcodes().rearrangeBarcodes(barcode);
for (int i : result) {
System.out.print(i + " ");
}
System.out.println();
}
class Node {
int value, count, rank;
Node(int value, int count, int rank) {
this.value = value;
this.count = count;
this.rank = rank;
}
}
public int[] rearrangeBarcodes(int[] barcodes) {
PriorityQueue