Remove element

給定一個值,如果 array 裡有這個值,都刪除

一個一定要學會且熟練的技巧!

關鍵就是用一個 index 表示當前可以被取代的位置,把不等於給定元素的值直接放到這個位置

public int removeElement(int[] A, int elem) {
    if (A == null || A.length == 0) {
        return 0;
    }

    //remove duplicated element
    int index = 0;
    int count = 0;
    for (int i=0; i<A.length; i++) {
        if (A[i] != elem) {
            A[index++] = A[i];
        } else {
            count++;   
        }
    }

    return A.length - count;
}

results matching ""

    No results matching ""