public void removeAll(int element) {
// 时间:O(n^2) 时间:O(1)
int index;
while ((index = indexOf(element)) != -1) {
earse(index);
}
// 时间: O(n) 空间: O(n)
int[] newArray = new int[array.length];
int j = 0;
for (int i = 0; i < size; i++) {
if (array[i] != element) {
newArray[j++] = array[i];
}
}
array = newArray;
size = j;
}
// 时间:O(n) 空间:O(1)
int j = 0;
for (int i = 0; i < size; i++) {
if (array[i] != element) {
array[j++] = array[i];
}
}
size = j;
}
删掉顺序中的重复值&时间空间优化
最新推荐文章于 2021-05-30 17:52:42 发布