[programmers]level 1-私は同じ数字が好きではありません.


👩🏻‍💻 質問する



👩🏻‍💻 正しいコード

import java.util.*;

public class Solution {
    public int[] solution(int[] arr) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(arr[0]);
        for (int i=1; i<arr.length; i++)
            if (arr[i]!=arr[i-1]) list.add(arr[i]);
        
        int[] answer = new int[list.size()];
        for (int i=0; i < answer.length; i++)
            answer[i] = list.get(i).intValue();
        return answer;
    }
}
addメソッドを使用するためにInteger型ArrayListを宣言します.arrの最初の要素が追加されると、arr[i]とarr[i-1]が異なる場合(新しい要素値が表示される場合)にリストに追加されます.return型int[]に変換する必要があります!

👩🏻‍💻 Remember


ArrayListコメントブログ
ArrayList
ArrayListはListインタフェースを継承するクラスであり,可変サイズの線形リストである.一般配列と同じ順序リストやインデックスで内部オブジェクトを管理するなど似ていますが、一度に作成してもサイズが変わらない配列とは異なり、ArrayListの特徴は、オブジェクトが追加されて容量を超えた場合、容量が自動的に容量不足の大きさに増加することです.
  • ArrayList -> Array
  • List<Integer> list = new ArrayList<Integer>();
    
    int[] arr = new int[list.size()];
    for (int i=0; i<arr.length; i++)
    	arr[i] = list.get(i).intValue();
    return ret;