2017-06-12 12 views
-3

配列があり、最小値を見つけるために、Arrays.sort()関数を使用しますが、使用する元の順序で配列を取得したい場合は、配列を元の順序に並べ替える

+2

並べ替えを呼び出す前に配列のコピーを作成する – Eran

+1

関数を使用することはできません。注文が変更されたら、それを復元することはできません。並べ替える前に配列のコピーを作成し、2つのコピーのうち1つのみをソートします。 – f1sh

+5

配列の最小値をソートせずに見つけることができます。最小値を求めることはソートよりもはるかに優れたO(n)です。 – khelwood

答えて

0
int[] myList = {2,1,4,3,5}; 
int[] copyList = Arrays.copyOf(myList, 5); 
Arrays.sort(copyList); 

現在のリストを別のリストにコピーします。 コピーしたリストを結果に並べ替えます。 元のリストは変更されません

1

配列を変更しないでそのままにし、最小値を探します。

method findMin(theArray) 
    minVal <- theArray[0] 
    for (i in 1 to (theArray.size - 1)) 
    if (minVal > theArray[i]) 
     minVal <- theArray[i] 
    endif 
    endfor 
    return minVal 
endmethod 
関連する問題