値がInteger.MIN_VALUEからInteger.MAX_VALUEの範囲にある、並べ替えられていない整数の配列があります。配列には、整数の重複が複数存在する場合があります。すべての重複を削除した配列を返し、要素の順序も維持する必要があります。
例:
int[] input = {7,8,7,1,9,0,9,1,2,8}
出力は{7,8,1,9,0,2}である必要があります
私はこの問題を使用して解決できることを知っていますがLinkedHashSet
、大きなバッファスペースを必要としないソリューションが必要です。
java 8 Arrays stream.distinct()
メソッドを使用して、配列から個別の値を取得できます。これは、入力順序のみのままです。
public static void main(String[] args) {
int[] input = {7,8,7,1,9,0,9,1,2,8};
int[] output = Arrays.stream(input).distinct().toArray();
System.out.println(Arrays.toString(output)); //[7, 8, 1, 9, 0, 2]
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加