用快速排序算法思想和Java实现
解题思路:把值为val的元素全部移到右边进行"移除"
以下是代码:
public class Demo1 {
public static int removeElement(int[] nums, int val) {
int low = 0;
int high = nums.length-1;
int temp;
while(true){
while(nums[low] != val){
low++;
}
while(nums[high] == val){
high–;
}
if(high <= low){
break;
}
temp = nums[low];
nums[low] = nums[high];
nums[high] = temp;
}
return low;
}
public static void main(String[] args) {
int[] arr = new int[] {0,1,2,2,3,0,4,2};
int newlen = removeElement(arr,2);
for(int i=0;i<newlen;i++) {
System.out.println(arr[i]);
}
}
}
每日一个算法之就地移除数组中元素值为val的元素。
最新推荐文章于 2022-09-26 18:08:24 发布