1.题目:
2.解答:
package com.cl.ch2;
import java.util.Arrays;
public class RemoveElement {
/**
* 时间复杂度:O(n)
* 空间复杂度:O(1)
* @param nums
* @param val
* @return
*/
public int removeElement(int[] nums, int val) {
int length = 0;
int k=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=val){
if(i!=k) {
swap(nums, i, k++);
}else{
k++;
}
length++;
}
}
return length;
}
private void swap(int[] nums, int k, int i) {
int tem = nums[k];
nums[k]=nums[i];
nums[i]=tem;
}
public static void main(String[] args) {
int[] arr = new int[]{3,2,2,3};
System.out.println(new RemoveElement().removeElement(arr,3));
System.out.println(Arrays.toString(arr));
}
}