私は次の問題に取り組んでいます:
最小数の要素を削除して、指定された整数の配列をソート済みの配列に変換する必要があります。
例: [3,5,2,10,11] は、[3,5,10,11] の '2' を削除してソートされます。または [3,6,2,4,5,7,7] は '3','6' を削除してソートされます: [2,4,5,7,7] または '6','2' を削除してソートされます:[3,4,5,7,7](どちらの方法でも2つの要素を削除するため、両方とも正しいです)。
私が考えたのは、各要素のカウンターを保持して、他の要素との競合の数を確認することでした。競合の意味: 最初の例では、数字 '3' と '5' にはそれぞれ 1 つの競合 (数字 '2' と) があり、数字 '2' には 2 つの競合 (数字 '3' と '5' と) があります。 . したがって、競合の配列を計算した後、競合の最大数を持つ要素を元の配列から削除し、すべての要素の競合が 0 になるまで残りの配列に対して繰り返します。
ただし、これは効率的な方法ではありません (場合によっては、間違った結果が生じる可能性があるとは思わない場合もあります)。