移除数组中的值

2017-06-20  本文已影响0人  颜恒

开始学习算法,先来一个简单的玩玩。
题目:在一个数组中移除指定的value,不能新建数组,返回新的数组长度。
大致思路:遍历数组,定义两个变量i,j,如果碰到了value,使用j记录位置,同时递增i,直到下一个非value出现,将此时i对应的值复制到j的位置上,增加j,重复上述过程直到遍历结束。这时候j就是新的数组长度。
public static int removeElement(int []A, int n, int elem) {
int j = 0;
for (int i = 0; i < n; i++) {
if (A[i] == elem) {
continue;
}

        A[j] = A[i];
        Log.d("wsk----", "int A[]==" + A[j] + "--j==" + j);
        j++;
    }
    Log.d("wsk----", "int A[]==" + Arrays.toString(A) + "--j==" + j);
    return j;
}
上一篇 下一篇

猜你喜欢

热点阅读