配列B[]={6, 5, 1, 2, 4, 3};
に従って並べ替える必要がある配列A[]={8, 9, 11, 14, 16, 20};
があるとします。 配列を別の配列の順番に並べ替えます
選別A
A[]={20, 16, 8, 9, 14, 11};
になり、どのようにA
がソートされますがB
で語られています。
B
の最初の要素が最大であるため、A
の最初の要素も最大になります。 B
の第3の要素はB
場合A
の最小ので、第三の要素はまた、最小の
なりで何かがA
も降順にソートされます次に{100, 84, 74, 51, 5, 1}
のように降順にソートされました。
例:私は、異なる年齢の何人かの友人を持っている、と私は彼らに応じて何かを与えたい場合はB = {2, 3, 45, 0, 7, 56}
場合、A
は{9, 11, 16, 8, 14, 20}
そのようになり
1. B = {12, 8, 14, 156, 2, 84}
場合、A
は{11, 9, 14, 20, 8, 16}
2.だろう彼らの年齢に最長の人は最大のものを得て、それより小さいものはそれよりも小さいものを得ます。
私は同様の質問を見ましたが、私の問題のようなものではありません。
私の考えは、両方を最初に並べ替えることです。そして、並べ替える。
高速なソリューションはありますか?
正確には、この質問はここ数日、おそらく1週間前です。 あなたの配列リテラルを除いて、 'B'が' A'のソート順をどのくらい正確に指定しているかのヒントはありません。それらを確認してください。 – bipll
'B'が' A'の順番をどのように決めるのか分かりません。あなたの選別基準を明確にしてください。 –
Bの6は、Aの6番目の要素が6の位置にあることを意味します。 6は最初ですから、Aの6番目の要素は最初に移動する必要があります。 – chris