出典:Googleインタビューの質問
入力内の同一の要素が出力内で最大限に分散されるようにするルーチンを作成しますか?
基本的に、TOTALの広がりが可能な限り最大になるように、同じ要素を配置する必要があります。
例:
Input: {1,1,2,3,2,3}
Possible Output: {1,2,3,1,2,3}
Total dispersion = Difference between position of 1's + 2's + 3's = 4-1 + 5-2 + 6-3 = 9 .
これに利用できる最適な多項式時間アルゴリズムがあるかどうかは、まったくわかりませ ん。また、この質問以外の詳細は提供されていません。
私が考えたのは、入力内の各要素の周波数を計算し、すべての周波数が使い果たされるまで、一度に個別の要素ごとに出力に配置することです。
私のアプローチがよくわかりません。
あらゆるアプローチ/アイデアの人々。