3.6.设计算法,在数组r[n]中删除所有元素值为x的元素,要求时间复杂性为O(N),空间复杂性为O(1)
在空间复杂度的限定下,先判断是否为x, 然后重新写会到原来的数组里,这样就没有重新开辟空间!
package thirdChapter;
public class ArrDeleteRepeat {
public void arrDeleteRepeat(int[] arr, int x) {
int j = 0;
int n = arr.length;
for (int i = 0; i < n; i++) {
if(arr[i] != x) {
arr[j] = arr[i];
System.out.println(arr[j]);
j++;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {2, 3, 4, 2, 1, 7, 9, 5, 2, 2};
ArrDeleteRepeat aRepeat = new ArrDeleteRepeat();
aRepeat.arrDeleteRepeat(arr, 2);
}
}